‎2007 Jul 17 12:44 PM
Hi,
I want to create a program where i want the totals to be printed at the footer and the next page should start with the brought forward total and end with Total amount .
plz suggest.
‎2007 Jul 17 1:07 PM
Hi,
Plz tell me the modifications to this program itself.
where i want the totals to be printed at the footer and the next page should start with the brought forward total and end with Total amount
REPORT ZAC_TAB18.
T Y P E S
TYPES:
BEGIN OF TYVBAK,
VBELN TYPE VBAK-VBELN,
AUART TYPE VBAK-AUART,
AUDAT TYPE VBAK-AUDAT,
KUNNR TYPE VBAK-KUNNR,
NETWR TYPE VBAK-NETWR,
END OF TYVBAK.
D A T A D E C L A R A T I O N S
DATA:
STVBAK TYPE TYVBAK,
ITVBAK TYPE TABLE OF TYVBAK.
S E L E C T I O N S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
SKUNNR FOR STVBAK-KUNNR.
SELECTION-SCREEN END OF BLOCK B1.
I N I T I A L I Z A T I O N
INITIALIZATION.
FILLING SELECT OPTIONS WITH DEFAULTS
SKUNNR-SIGN = 'I'.
SKUNNR-OPTION = 'BT'.
SKUNNR-LOW = '1'.
SKUNNR-HIGH = '4000000'.
APPEND SKUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1'SALES DOC',12 'DOC TYPE',20 'SALES DATE',32 'NETWORTH',60 'CUSTOMER'.
E N D O F P A G E
END-OF-PAGE.
WRITE:/1 SY-DATUM,30 SY-PAGNO, 55 SY-UNAME.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM GETDATA.
&----
*& Form GETDATA
&----
text
----
FORM GETDATA.
SELECT VBELN "SALES DOCUMENT NUMBER
AUART "DOCUMENT TYPE
AUDAT "SALES DOCUMENT DATE
KUNNR "SOLD TO PARTY
NETWR "NETWORTH
FROM VBAK
INTO TABLE ITVBAK
WHERE KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
SORT ITVBAK BY KUNNR VBELN.
PERFORM DISPLAY.
ENDIF.
ENDFORM. "GETDATA
&----
*& Form display
&----
text
----
FORM DISPLAY.
LOOP AT ITVBAK INTO STVBAK.
WRITE:/1 STVBAK-VBELN,12 STVBAK-AUART,20 STVBAK-AUDAT,35 STVBAK-NETWR,60 STVBAK-KUNNR.
ENDLOOP.
ENDFORM. "display
Ram
‎2007 Jul 17 12:46 PM
‎2007 Jul 17 12:47 PM
u have a control command to carry the total to next page
use the
carryforward control command to do this
‎2007 Jul 17 1:07 PM
Hi,
Plz tell me the modifications to this program itself.
where i want the totals to be printed at the footer and the next page should start with the brought forward total and end with Total amount
REPORT ZAC_TAB18.
T Y P E S
TYPES:
BEGIN OF TYVBAK,
VBELN TYPE VBAK-VBELN,
AUART TYPE VBAK-AUART,
AUDAT TYPE VBAK-AUDAT,
KUNNR TYPE VBAK-KUNNR,
NETWR TYPE VBAK-NETWR,
END OF TYVBAK.
D A T A D E C L A R A T I O N S
DATA:
STVBAK TYPE TYVBAK,
ITVBAK TYPE TABLE OF TYVBAK.
S E L E C T I O N S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
SKUNNR FOR STVBAK-KUNNR.
SELECTION-SCREEN END OF BLOCK B1.
I N I T I A L I Z A T I O N
INITIALIZATION.
FILLING SELECT OPTIONS WITH DEFAULTS
SKUNNR-SIGN = 'I'.
SKUNNR-OPTION = 'BT'.
SKUNNR-LOW = '1'.
SKUNNR-HIGH = '4000000'.
APPEND SKUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1'SALES DOC',12 'DOC TYPE',20 'SALES DATE',32 'NETWORTH',60 'CUSTOMER'.
E N D O F P A G E
END-OF-PAGE.
WRITE:/1 SY-DATUM,30 SY-PAGNO, 55 SY-UNAME.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM GETDATA.
&----
*& Form GETDATA
&----
text
----
FORM GETDATA.
SELECT VBELN "SALES DOCUMENT NUMBER
AUART "DOCUMENT TYPE
AUDAT "SALES DOCUMENT DATE
KUNNR "SOLD TO PARTY
NETWR "NETWORTH
FROM VBAK
INTO TABLE ITVBAK
WHERE KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
SORT ITVBAK BY KUNNR VBELN.
PERFORM DISPLAY.
ENDIF.
ENDFORM. "GETDATA
&----
*& Form display
&----
text
----
FORM DISPLAY.
LOOP AT ITVBAK INTO STVBAK.
WRITE:/1 STVBAK-VBELN,12 STVBAK-AUART,20 STVBAK-AUDAT,35 STVBAK-NETWR,60 STVBAK-KUNNR.
ENDLOOP.
ENDFORM. "display
Ram
‎2007 Jul 17 1:21 PM
Check the code :
REPORT ZAC_TAB18.
T Y P E S
TYPES:
BEGIN OF TYVBAK,
VBELN TYPE VBAK-VBELN,
AUART TYPE VBAK-AUART,
AUDAT TYPE VBAK-AUDAT,
KUNNR TYPE VBAK-KUNNR,
NETWR TYPE VBAK-NETWR,
END OF TYVBAK.
D A T A D E C L A R A T I O N S
DATA:
STVBAK TYPE TYVBAK,
ITVBAK TYPE TABLE OF TYVBAK.
S E L E C T I O N S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
SKUNNR FOR STVBAK-KUNNR.
SELECTION-SCREEN END OF BLOCK B1.
I N I T I A L I Z A T I O N
INITIALIZATION.
FILLING SELECT OPTIONS WITH DEFAULTS
SKUNNR-SIGN = 'I'.
SKUNNR-OPTION = 'BT'.
SKUNNR-LOW = '1'.
SKUNNR-HIGH = '4000000'.
APPEND SKUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1'SALES DOC',12 'DOC TYPE',20 'SALES DATE',32 'NETWORTH',60 'CUSTOMER'.
E N D O F P A G E
END-OF-PAGE.
WRITE:/1 SY-DATUM,30 SY-PAGNO, 55 SY-UNAME.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM GETDATA.
&----
*& Form GETDATA
&----
text
----
FORM GETDATA.
SELECT VBELN "SALES DOCUMENT NUMBER
AUART "DOCUMENT TYPE
AUDAT "SALES DOCUMENT DATE
KUNNR "SOLD TO PARTY
NETWR "NETWORTH
FROM VBAK
INTO TABLE ITVBAK
WHERE KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
SORT ITVBAK BY KUNNR VBELN.
PERFORM DISPLAY.
ENDIF.
ENDFORM. "GETDATA
&----
*& Form display
&----
text
----
FORM DISPLAY.
LOOP AT ITVBAK INTO STVBAK.
WRITE:/1 STVBAK-VBELN,12 STVBAK-AUART,20 STVBAK-AUDAT,35 STVBAK-NETWR,60 STVBAK-KUNNR.
at last.
sum.
<b>write:/10 'Totals',STVBAK-netwr.</b>
endat.
ENDLOOP.
ENDFORM. "display
Thanks
Seshu
‎2007 Jul 18 11:40 AM
Hello Ram,
See the below code ,i have modified your code. See the bold one are important,define line-count ,so that you get proper results.
.
<b>REPORT ZAC_TAB18 no standard page heading
line-count 28(2)
line-size 255.</b>
T Y P E S
TYPES:
BEGIN OF TYVBAK,
VBELN TYPE VBAK-VBELN,
AUART TYPE VBAK-AUART,
AUDAT TYPE VBAK-AUDAT,
KUNNR TYPE VBAK-KUNNR,
NETWR TYPE VBAK-NETWR,
END OF TYVBAK.
D A T A D E C L A R A T I O N S
DATA:
STVBAK TYPE TYVBAK,
ITVBAK TYPE TABLE OF TYVBAK.
S E L E C T I O N S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
SKUNNR FOR STVBAK-KUNNR.
SELECTION-SCREEN END OF BLOCK B1.
I N I T I A L I Z A T I O N
INITIALIZATION.
FILLING SELECT OPTIONS WITH DEFAULTS
SKUNNR-SIGN = 'I'.
SKUNNR-OPTION = 'BT'.
SKUNNR-LOW = '1'.
SKUNNR-HIGH = '4000000'.
APPEND SKUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1'SALES DOC',12 'DOC TYPE',25 'SALES DATE',49 'NETWORTH',
60 'CUSTOMER'.
skip 1.
E N D O F P A G E
END-OF-PAGE.
WRITE:/1 SY-DATUM,30 SY-PAGNO, 55 SY-UNAME.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM GETDATA.
&----
*& Form GETDATA
&----
text
----
FORM GETDATA.
SELECT VBELN "SALES DOCUMENT NUMBER
AUART "DOCUMENT TYPE
AUDAT "SALES DOCUMENT DATE
KUNNR "SOLD TO PARTY
NETWR "NETWORTH
FROM VBAK
INTO TABLE ITVBAK
WHERE KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
SORT ITVBAK BY KUNNR VBELN.
PERFORM DISPLAY.
ENDIF.
ENDFORM. "GETDATA
&----
*& Form display
&----
text
----
FORM DISPLAY.
DATA : V_TOTAL TYPE VBAK-NETWR.
LOOP AT ITVBAK INTO STVBAK.
WRITE:/1 STVBAK-VBELN,12 STVBAK-AUART,25 STVBAK-AUDAT,35 STVBAK-NETWR,
60 STVBAK-KUNNR.
<b>V_TOTAL = V_TOTAL + STVBAK-NETWR.
IF SY-LINNO = 23.
skip 1.
WRITE:/25 'Totals',35 v_total.
skip 1.
ENDIF.</b>
<b>AT LAST.
sum.
skip 1.
write: /20 'Grand Totals' ,35 STVBAK-NETWR.
ENDAT.</b>
ENDLOOP.
ENDFORM. "display
Thanks
Seshu
‎2007 Jul 17 1:18 PM
use control break statements.
at first.
at new.
at end.
at last.
u can get the subtotals using these control break statements easily.
regards,
srinivas
<b>*reward for useful answers*</b>