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

plese correct the select statment...

Former Member
0 Likes
940

HI,

this is my select program.

SELECT BELNR XBLNR INTO TABLE T_GET_ACCDOCU " SELECTING THE ACCOUNT

" NUMBER AND REFERENCE

" NUMBER INTO TABLE

FROM BKPF

WHERE BLART = P_BLART.

when i output this, i can see several lines.and now using this table i process the following code...

LOOP AT T_GET_ACCDOCU INTO WA_GET_ACCDOCU.

  • GET THE DEALER NUMBER

CLEAR t_GET_DEALER.

SELECT VBELN KUNNR INTO TABLE t_GET_DEALER

FROM LIKP

WHERE VBELN = WA_GET_ACCDOCU-XBLNR

AND VBTYP = 'J'.

ENDLOOP.

now when i output this table i can see only 1 record being output..but there are more tha 1 records present ....i can see all of them when i debug the program but they are being overwritten each time a new record is appeneded to the table..

can any one tell me where the code went wrong...

thank you..

challa

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
913

Hi,

select belnr xblnr into table t_get_accdocu from BKPF where

blart = p_blart.

if not t_get_accdocu[] is initial.

select vbeln kunnr into table t_get_dealer from LIKP for all entries in t_get_accdocu where vbeln = t_get_accdocu.

endif.

take a final internal table, which consists of following table BELNR XBLNR VBELN KUNNR.

loop at t_get_accdocu.

read table t_get_dealer with key VBELN = t_get_adddocu-XBLNR.

if sy-subrc eq 0.

move : t_get_accdocu-belnr to gt_output-belnr,

t_get_accdocu-xblnr to gt_output-xblnr,

t_get_dealer-vbeln to gt_output-vbeln,

t_get_dealer-kunnr to gt_output-kunnr.

append gt_output.

clear gt_output.

endloop.

And use write statement to display the result in the output list or use ALV grid display.

Thanks,

Sri.

6 REPLIES 6
Read only

Former Member
0 Likes
913

Change it to appending ie

SELECT VBELN KUNNR APPENDING TABLE t_GET_DEALER

FROM LIKP..

But I wouldn't suggest using a SELECT inside a loop..

Regards,

Arya

Read only

0 Likes
913

HI,

can u suggest the other way if not using select in loop..i heard we can use for all entries but i dont know how to use use it..can u please give the code..

thanks,

challa

Read only

Former Member
0 Likes
913

Does this work:

SELECT belnr xblnr
  INTO TABLE t_get_accdocu
  FROM bkpf
  WHERE blart = p_blart.

LOOP AT t_get_accdocu INTO wa_get_accdocu.
  CLEAR t_get_dealer.
  SELECT vbeln kunnr INTO TABLE t_get_dealer
  FROM likp
  WHERE vbeln = wa_get_accdocu-xblnr
  AND vbtyp = 'J'.

  WRITE : /001  t_get_dealer-vbeln,  t_get_dealer-kunnr.

ENDLOOP.

Rob

Read only

0 Likes
913

try this..


if not t_get_accdocu[] is initial.
SELECT VBELN KUNNR INTO TABLE t_GET_DEALER
FROM LIKP for all entries in T_GET_ACCDOCU
WHERE VBELN = WA_GET_ACCDOCU-XBLNR
AND VBTYP = 'J'.
endif.

Regards,

Arya

Read only

Former Member
0 Likes
914

Hi,

select belnr xblnr into table t_get_accdocu from BKPF where

blart = p_blart.

if not t_get_accdocu[] is initial.

select vbeln kunnr into table t_get_dealer from LIKP for all entries in t_get_accdocu where vbeln = t_get_accdocu.

endif.

take a final internal table, which consists of following table BELNR XBLNR VBELN KUNNR.

loop at t_get_accdocu.

read table t_get_dealer with key VBELN = t_get_adddocu-XBLNR.

if sy-subrc eq 0.

move : t_get_accdocu-belnr to gt_output-belnr,

t_get_accdocu-xblnr to gt_output-xblnr,

t_get_dealer-vbeln to gt_output-vbeln,

t_get_dealer-kunnr to gt_output-kunnr.

append gt_output.

clear gt_output.

endloop.

And use write statement to display the result in the output list or use ALV grid display.

Thanks,

Sri.

Read only

0 Likes
913

THIS IS MY CODE ..CAN U CORRECT THIS....

*TABLE TYPE TO STORE CUSTOMER/DEALER AND DOCUMENT CATEGORY

TYPES: BEGIN OF TY_GET_ACCDOCU,

BELNR LIKE BKPF-BELNR,

XBLNR LIKE BKPF-XBLNR,

END OF TY_GET_ACCDOCU.

TYPES : BEGIN OF TY_GET_DEALER ,

VBELN LIKE LIKP-VBELN,

KUNNR LIKE LIKP-KUNNR,

BWART LIKE LIPS-BWART,

END OF TY_GET_DEALER.

  • XBLNR TYPE BKPF-XBLNR,

  • KUNNR TYPE LIKP-KUNNR,

  • VBTYP TYPE LIKP-VBTYP,

  • END OF TY_GET_DEALER.

************************************************************************

  • Data Definitions *

----


*Internal Table and work area decleration

DATA: T_GET_DEALER TYPE STANDARD TABLE OF TY_GET_DEALER,

WA_GET_DEALER TYPE TY_GET_DEALER.

DATA:T_GET_ACCDOCU TYPE STANDARD TABLE OF TY_GET_ACCDOCU,

WA_GET_ACCDOCU TYPE TY_GET_ACCDOCU.

*

*----


  • SELECTION-SCREEN DEFINITION

*----


*Selection screen document date, Document Type and document number

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SKIP 2.

SELECT-OPTIONS: S_DATE FOR BKPF-BLDAT,

  • P_VGART LIKE MKPF-VGART,

S_BELNR FOR BKPF-BELNR.

PARAMETERS: P_BLART LIKE BKPF-BLART DEFAULT 'WL' OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

  • CHECK IF DATE IS INITIAL OR NOT.

IF NOT S_DATE IS INITIAL

AND S_BELNR IS INITIAL.

SELECT BELNR XBLNR INTO TABLE T_GET_ACCDOCU " SELECTING THE ACCOUNT

" NUMBER AND REFERENCE

" NUMBER INTO TABLE

FROM BKPF

WHERE BLDAT IN S_DATE

AND BLART = P_BLART.

  • AND WERKS = 'NA40'.

ENDIF.

*CHECK IF DATE IS INITIAL OR NOT

IF S_DATE IS INITIAL AND

S_BELNR IS INITIAL.

SELECT BELNR XBLNR INTO TABLE T_GET_ACCDOCU " SELECTING THE ACCOUNT

" NUMBER AND REFERENCE

" NUMBER INTO TABLE

FROM BKPF

WHERE BLART = P_BLART.

  • AND BUKRS = 'NA40'.

ENDIF.

*CHEK IF REFERNECE NUMBER IS INITAL OR NOT

IF NOT S_BELNR IS INITIAL

AND S_DATE IS INITIAL.

SELECT BELNR XBLNR INTO TABLE T_GET_ACCDOCU " SELECTING THE ACCOUNT

" NUMBER AND REFERENCE

" NUMBER INTO TABLE

FROM BKPF

WHERE BLART = P_BLART

AND BELNR IN S_BELNR.

  • AND BUKRS = 'NA40'.

ENDIF.

  • CHEK IF REFERNECE NUMBER IS INITAL OR NOT

IF NOT S_DATE IS INITIAL AND

NOT S_BELNR IS INITIAL.

SELECT BELNR XBLNR INTO TABLE T_GET_ACCDOCU " SELECTING THE ACCOUNT

" NUMBER AND REFERENCE

" NUMBER INTO TABLE

FROM BKPF

WHERE BLART = P_BLART

AND BELNR IN S_BELNR

AND BLDAT IN S_DATE.

  • AND WWERKS = 'NA40'.

ENDIF.

LOOP AT T_GET_ACCDOCU INTO WA_GET_ACCDOCU.

WRITE 😕 WA_GET_ACCDOCU-BELNR, 20 WA_GET_ACCDOCU-XBLNR.

ENDLOOP.

LOOP AT T_GET_ACCDOCU INTO WA_GET_ACCDOCU.

SELECT VBELN KUNNR INTO WA_GET_DEALER

FROM LIKP

WHERE VBELN = WA_GET_ACCDOCU-XBLNR

AND VBTYP = 'J'.

APPEND WA_GET_DEALER TO T_GET_DEALER.

ENDSELECT.

ENDLOOP.

ULINE.

LOOP AT T_GET_DEALER INTO WA_GET_DEALER.

WRITE:/ WA_GET_DEALER-VBELN, 20 WA_GET_DEALER-KUNNR.

ENDLOOP.

*IF NOT T_GET_DEALER IS INITIAL.

*

  • SELECT BWART INTO WA_GET_DEALER

  • FROM LIPS

  • FOR ALL ENTRIES IN T_GET_DEALER

  • WHERE VBELN = WA_GET_DEALER-VBELN.

*

*ENDIF.