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

error

Former Member
0 Likes
729

i run this program its comes a error msg..

memory low,leave the transcation...

this is the error msg,,

then pls correct the error ,

in this program how to calculate the amount band pls explain,,

output format...

1)amount band,

2)customer

3)name

4)address

5)postalcode

6)email

7)telephone number

8)ssid.

pls correct it this output format.....

TABLES : vbak, vbap, vbkd, konv, kna1,adr6.

DATA :BEGIN OF i_vbak OCCURS 0,

vbeln LIKE vbak-vbeln,

ernam LIKE vbak-ernam, "Name Of Person who Created the object

telf1 LIKE vbak-telf1, "Telephone Number

kunnr LIKE vbak-kunnr, "Customer

knumv LIKE vbak-knumv,

ps_psp_pnr LIKE vbak-ps_psp_pnr, "Work Breakdown Structure Element

END OF i_vbak.

DATA :BEGIN OF i_vbap OCCURS 0,

vbeln LIKE vbak-vbeln,

netwr LIKE vbap-netwr, " Net value of the order item in document currency

ernam LIKE vbap-ernam,

ps_psp_pnr LIKE vbap-ps_psp_pnr, "Work Breakdown Structure Element

knumh LIKE vbap-knumh,

END OF i_vbap.

DATA :BEGIN OF i_vbkd OCCURS 0,

vbeln LIKE vbkd-vbeln,

kdgrp LIKE vbkd-kdgrp, "Customer Group

bzirk LIKE vbkd-bzirk, "Sales District

gjahr LIKE vbkd-gjahr, "Fiscal year

END OF i_vbkd.

DATA :BEGIN OF i_konv OCCURS 0,

knumv LIKE konv-knumv,

kwert LIKE konv-kwert,

knumh LIKE konv-knumh,

END OF i_konv.

DATA :BEGIN OF i_kna1 OCCURS 0,

kunnr LIKE kna1-kunnr, "Customer

name1 LIKE kna1-name1, "Name

adrnr LIKE kna1-adrnr, "Address

pstlz LIKE kna1-pstlz, "Postal Code

telf1 LIKE kna1-telf1, "Telephone number

END OF i_kna1.

DATA : BEGIN OF i_adr6 OCCURS 0,

smtp_addr LIKE adr6-smtp_addr, "Customer Email ID.

END OF i_adr6.

DATA :BEGIN OF i_data OCCURS 0,

kunnr LIKE vbak-kunnr, "Customer

ernam LIKE vbak-ernam, "Contact person

telf1 LIKE vbak-telf1, "Telephone Number

ps_psp_pnr LIKE vbap-ps_psp_pnr, "Work Breakdown Structure Elemen

netwr LIKE vbap-netwr,

kdgrp LIKE vbkd-kdgrp, "Customer Group

bzirk LIKE vbkd-bzirk, "Sales District

gjahr LIKE vbkd-gjahr, "Fiscal year

kwert LIKE konv-kwert,

name1 LIKE kna1-name1, "Name

adrnr LIKE kna1-adrnr, "Address

pstlz LIKE kna1-pstlz, "Postal Code

smtp_addr LIKE adr6-smtp_addr, "Customer Email ID.

END OF i_data.

                        • ********* ********* ********* ********* ********* ********* ******

  • Selection - Screen

                      • ********* ********* ********* ********* ********* ********* ******

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

PARAMETER : session RadioButton Group A.

SELECT-OPTIONS : s_kwrt1 FOR konv-kwert. " Condition value

SELECT-OPTIONS : s_kwrt2 FOR konv-kwert. " type n.

SELECT-OPTIONS : s_kwrt3 FOR konv-kwert.

SELECT-OPTIONS : s_kwrt4 FOR konv-kwert.

SELECT-OPTIONS : s_kwrt5 FOR konv-kwert.

SELECT-OPTIONS : s_kdgrp FOR vbkd-kdgrp. "Customer Group

SELECT-OPTIONS : s_kunnr FOR vbak-kunnr. "Customer

SELECT-OPTIONS : s_pspnr FOR vbak-ps_psp_pnr. "Project ID

SELECT-OPTIONS : s_bzirk FOR vbkd-bzirk. "Occasion ID

skip 1.

PARAMETER : sessio RadioButton Group A.

skip 1.

SELECT-OPTIONS : s_pspnr1 FOR vbap-ps_psp_pnr. "Project ID

SELECT-OPTIONS : s_bzirk2 FOR vbkd-bzirk. "Occasion ID

PARAMETER : s_gjahr1 type vbkd-gjahr.

PARAMETER : s_gjahr2 type vbkd-gjahr.

SELECT-OPTIONS : s_kdgrp1 FOR vbkd-kdgrp. "Customer Group

SELECT-OPTIONS : s_kunnr1 FOR vbak-kunnr. "Customer

SELECT-OPTIONS : s_auart FOR vbak-auart. "Order Type

SELECTION-SCREEN : END OF BLOCK b1.

SELECT vbeln ernam telf1 kunnr knumv ps_psp_pnr INTO CORRESPONDING FIELDS OF TABLE i_vbak FROM vbak WHERE kunnr IN s_kunnr AND

ps_psp_pnr IN s_pspnr.

IF NOT i_vbak[] IS INITIAL.

SELECT vbeln netwr ps_psp_pnr INTO CORRESPONDING FIELDS OF TABLE i_vbap FROM vbap FOR ALL ENTRIES IN i_vbak

WHERE vbeln = i_vbak-vbeln.

SELECT knumv kwert INTO CORRESPONDING FIELDS OF TABLE i_konv FROM konv FOR ALL ENTRIES IN i_vbak

WHERE knumv = i_vbak-knumv.

SELECT vbeln bzirk kdgrp gjahr INTO CORRESPONDING FIELDS OF TABLE i_vbkd FROM vbkd FOR ALL ENTRIES IN i_vbak

WHERE vbeln = i_vbak-vbeln

AND bzirk IN s_bzirk

AND kdgrp IN s_kdgrp.

  • AND gjahr IN s_gjahr.

SELECT kunnr name1 adrnr pstlz telf1 INTO CORRESPONDING FIELDS OF TABLE i_kna1 FROM kna1 WHERE kunnr IN s_kunnr .

ENDIF.

LOOP AT i_vbkd.

LOOP AT i_vbap WHERE vbeln = i_vbkd-vbeln.

LOOP AT i_konv WHERE knumh = i_vbap-knumh .

LOOP AT i_vbak WHERE vbeln = i_vbkd-vbeln.

CLEAR i_data.

MOVE i_vbak-kunnr TO i_data-kunnr. "Customer

MOVE i_vbap-netwr TO i_data-netwr.

MOVE i_konv-kwert TO i_data-kwert.

  • MOVE i_vbap-vbeln TO i_data-vbeln.

MOVE i_vbkd-bzirk TO i_data-bzirk. "Occasion ID

MOVE i_vbap-ps_psp_pnr TO i_data-ps_psp_pnr. "Project ID

MOVE i_kna1-name1 TO i_data-name1. "Name

MOVE i_kna1-adrnr TO i_data-adrnr. "Address

MOVE i_kna1-pstlz TO i_data-pstlz. "Postal Code

MOVE i_vbap-ernam TO i_data-ernam. "Contact Person

MOVE i_kna1-telf1 TO i_data-telf1. "Telephone number

APPEND i_data.

CLEAR i_data.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

LOOP AT i_data.

write: / i_data-kunnr,i_data-name1,i_data-adrnr,i_data_pstlz,i_data_ernam,i_data_telf1.

endloop.

6 REPLIES 6
Read only

RaymondGiuseppi
Active Contributor
0 Likes
701

When you use LOOP AT WHERE x = y on big volume of data, use sorted type table (SORT is not enough) else program loop at the whole internal table at each level (so if 1000 records, loop 1000 x 1000 x 1000 .. x 1000 times)

Regards

Read only

former_member404244
Active Contributor
0 Likes
701

Hi,

log out the sytem and then once again login and execute the program,see if the error still persists..

Regards,

Nagaraj

Read only

Former Member
0 Likes
701

Hi,

Go through Query Optimizing techniques...

Try reducing the number of loops.

regards.

Read only

Former Member
0 Likes
701

Replace inner "LOOP" statements with "READ" statement. This will improve performance to a significant extent.

CMV

Read only

Former Member
0 Likes
701

Hi

change the code.

Your code:

LOOP AT i_data.

write: / i_data-kunnr,i_data-name1,i_data-adrnr,i_data_pstlz,i_data_ernam,i_data_telf1.

endloop.

My code

LOOP AT i_data.

write: / i_data-kunnr,i_data-name1,i_data-adrnr,<b>i_data-pstlz,i_data-ernam,i_data-telf1.</b>

endloop.

Regards

Srinu

Read only

Former Member
0 Likes
701

Hi,

Please use the READ statement inside the main loop and also logoff and login to refresh all the buffers.

Thanks

Reddaiah