Application Development 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: 

how save a report in sap rather then printing it ( ZV10)

Former Member
0 Kudos

hi there, im new to abap,

plz help me to solve this problem.

how to save a report in text format rather then printing it after it have finish ranning.

the report is in this t-code ZV10, after the user runs the report, it automaticaly prints it. But i have been ask to change it to save the report rather then from printing it.

plz help me to solve this issue.

thank you.

vasan

1 ACCEPTED SOLUTION

Former Member
0 Kudos

It means that you need to download report in the form of text file after it is run.

For this you need to add FILE parameter on your selection screen so that user can enter file name with path.

After this, in your program use function module GUI_DOWNLOAD to download this report to specified location.

You need to pass your output internal table to this function module.

Check this thread, it gives code sample for Presentation server file path name as well as download functionality.

Hope this helps.

ashish

PS: If you just want to save report output, from output screen then see this thread.

Message was edited by:

Ashish Gundawar

8 REPLIES 8

Former Member
0 Kudos

It means that you need to download report in the form of text file after it is run.

For this you need to add FILE parameter on your selection screen so that user can enter file name with path.

After this, in your program use function module GUI_DOWNLOAD to download this report to specified location.

You need to pass your output internal table to this function module.

Check this thread, it gives code sample for Presentation server file path name as well as download functionality.

Hope this helps.

ashish

PS: If you just want to save report output, from output screen then see this thread.

Message was edited by:

Ashish Gundawar

0 Kudos

hi there,

it means that i have creat a parameter in the selection screen , then the user can choose the out path.

<i>is it possible for me to juz default the out to be save rather then printing it? because the users here r to lazy to select the out path in the selection screen. they want a default out put.

thank you.</i>

0 Kudos

In that case you can specify default path in the initialization something like C:\Report.txt or so.

In this way, file will get downloaded automatically. You need to put a check the the program is not run in background (SY-BATCH = SPACE) as presentation server download does not work in background.

Hope this helps.

ashish

0 Kudos

hi there,

thanks for your advice,

currently in my place, the report actually runs once a day (spool). the output actually being printed directly after the report is finish running. the user only can c the content of the report once it have been finish running.

now they want it to be changed, so that the report still can be running once a day by using spool, and the output will be saved into C:\ rather then printed.

then the user can view the content of the report and chose whether he wana print it or send the soft copy.

<i>in this case, how could i change the out put from being printed to saving it in C:\?</i>

<i> ***********************************************************************

  • PROGRAM: REPORT ZV004REP

  • TITLE: IRF#2124 - SO PRICING CONDITIONS

  • AUTHOR: EAU PHEY LING

  • DATE WRITTEN: 9 AUGUST 2006

  • RELEASE: DM2K906298

  • Package: ZSD

======================================================================

  • CHANGE HISTORY

======================================================================

*& CR# Date Description Developer

*& -


-


-


-


*& DM2K906302 17/08/06 1. add one more selection PHEYLING

*& CH0001 parameter for Delivery Plant

*&

*& 2. add two new columns for

*& Pricing Condition of ZCRT & ZHDC.

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

*& DM2K906308 18/08/06 Create T-Code Alex

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

*& DM2K906312 21/08/06 CHANGE SELECTION TEXT PHEYLING

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

*& DM2K906368 29/08/06 1. add new column "created by" PHEYLING

  • CH0002

  • 2. add new column "reject desc"

  • 3. add new column "Product hierarchy"

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

REPORT ZV004REP .

----


  • T A B L E S . *

----


TABLES: VBAK, VBPA, VBKD, VBAP, MAKT, VBEP, MARA, KONV, VBUK, TVAGT.

----


  • I N T E R N A L T A B L E S . *

----


TYPES: BEGIN OF SY_VBAK,

VBELN TYPE VBAK-VBELN,

KNUMV TYPE VBAK-KNUMV,

ERDAT TYPE VBAK-ERDAT,

BSTNK TYPE VBAK-BSTNK,

KVGR1 TYPE VBAK-KVGR1,

WAERK TYPE VBAK-WAERK,

ERNAM TYPE VBAK-ERNAM,

END OF SY_VBAK,

BEGIN OF SY_VBPA,

VBELN TYPE VBPA-VBELN,

POSNR TYPE VBPA-POSNR,

PARVW TYPE VBPA-PARVW,

KUNNR TYPE VBPA-KUNNR,

END OF SY_VBPA,

BEGIN OF SY_VBKD,

VBELN TYPE VBKD-VBELN,

POSNR TYPE VBKD-POSNR,

KDGRP TYPE VBKD-KDGRP,

BZIRK TYPE VBKD-BZIRK,

END OF SY_VBKD,

BEGIN OF SY_VBAP,

VBELN TYPE VBAP-VBELN,

POSNR TYPE VBAP-POSNR,

WERKS TYPE VBAP-WERKS,

MATNR TYPE VBAP-MATNR,

PRODH TYPE VBAP-PRODH,

ABGRU TYPE VBAP-ABGRU,

ARKTX TYPE VBAP-ARKTX,

MATKL TYPE VBAP-MATKL,

END OF SY_VBAP,

BEGIN OF SY_VBEP,

VBELN TYPE VBEP-VBELN,

POSNR TYPE VBEP-POSNR,

WMENG TYPE VBEP-WMENG,

END OF SY_VBEP,

*BEGIN OF CH0002

BEGIN OF SY_TVAGT,

SPRAS TYPE TVAGT-SPRAS,

ABGRU TYPE TVAGT-ABGRU,

BEZEI TYPE TVAGT-BEZEI,

END OF SY_TVAGT,

*END OFF CH0002

BEGIN OF SY_KONV,

KNUMV TYPE KONV-KNUMV,

KPOSN TYPE KONV-KPOSN,

WAERS TYPE KONV-WAERS,

KWERT TYPE KONV-KWERT,

KSCHL TYPE KONV-KSCHL,

END OF SY_KONV,

BEGIN OF SY_INTAB,

ERDAT TYPE ERDAT,

VBELN TYPE VBELN,

BSTNK TYPE BSTNK,

KVGR1 TYPE KVGR1,

WAERK TYPE WAERK,

ERNAM TYPE ERNAM,

SOPTY TYPE KUNNR,

ENCUS TYPE KUNNR,

SALEP TYPE KUNNR,

KDGRP TYPE KDGRP,

**CH0002-BEGIN

BEZEI TYPE BEZEI,

**CH0002-END

BZIRK TYPE BZIRK,

POSNR TYPE POSNR,

WERKS TYPE WERKS,

ARKTX TYPE ARKTX,

MATNR TYPE MATNR,

PRODH TYPE PRODH,

MATKL TYPE MATKL,

WMENG TYPE WMENG,

WAERS TYPE WAERS,

ABGRU TYPE ABGRU,

  • ZLP1 TYPE KWERT,

  • ZA01 TYPE KWERT,

  • ZNDN TYPE kwert,

  • RA00 TYPE kwert,

  • ZB00 TYPE kwert,

  • MWST TYPE kwert,

  • VPRS TYPE kwert,

  • ZPR1 TYPE kwert,

  • ZCR1 TYPE kwert,

  • ZCRS TYPE kwert,

  • ZPRS TYPE kwert,

  • EK02 TYPE kwert,

    • CH0001 - BEGIN.

  • ZCRT TYPE KWERT,

  • ZHDC TYPE KWERT,

  • CH0001 - END.

ZLP1(15) TYPE C,

ZA01(15) TYPE C,

ZNDN(15) TYPE C,

RA00(15) TYPE C,

ZB00(15) TYPE C,

MWST(15) TYPE C,

VPRS(15) TYPE C,

ZPR1(15) TYPE C,

ZCR1(15) TYPE C,

ZCRS(15) TYPE C,

ZPRS(15) TYPE C,

EK02(15) TYPE C,

  • CH0001 - BEGIN.

ZCRT(15) TYPE C,

ZHDC(15) TYPE C,

  • CH0001 - END.

END OF SY_INTAB,

TS_VBAK TYPE SORTED TABLE OF SY_VBAK WITH NON-UNIQUE KEY VBELN,

TS_VBPA TYPE SORTED TABLE OF SY_VBPA WITH NON-UNIQUE KEY VBELN

POSNR

PARVW,

TS_VBKD TYPE SORTED TABLE OF SY_VBKD WITH NON-UNIQUE KEY VBELN

POSNR,

TS_VBAP TYPE SORTED TABLE OF SY_VBAP WITH NON-UNIQUE KEY VBELN

POSNR,

TS_VBEP TYPE SORTED TABLE OF SY_VBEP WITH NON-UNIQUE KEY VBELN

POSNR,

TS_KONV TYPE SORTED TABLE OF SY_KONV WITH NON-UNIQUE KEY KNUMV

KPOSN

KSCHL,

*CH0002-BEGIN

TS_TVAGT TYPE SORTED TABLE OF SY_TVAGT WITH NON-UNIQUE KEY SPRAS

ABGRU,

*CH0002-END

TS_INTAB TYPE STANDARD TABLE OF SY_INTAB.

DATA: TT_VBAK TYPE TS_VBAK WITH HEADER LINE,

TT_VBPA TYPE TS_VBPA WITH HEADER LINE,

TT_VBKD TYPE TS_VBKD WITH HEADER LINE,

TT_VBAP TYPE TS_VBAP WITH HEADER LINE,

TT_VBEP TYPE TS_VBEP WITH HEADER LINE,

TT_KONV TYPE TS_KONV WITH HEADER LINE,

**CH0002-BEGIN

TT_TVAGT TYPE TS_TVAGT WITH HEADER LINE,

*8CH0002-END

TT_INTAB TYPE TS_INTAB WITH HEADER LINE.

**CH0002-BEGIN

CONSTANTS: NOVALUE TYPE C VALUE ' '.

**CH0002-END

DATA: OK_CODE LIKE SY-UCOMM,

G_REPID LIKE SY-REPID,

GS_PRINT TYPE LVC_S_PRNT,

GS_LAYOUT TYPE LVC_S_LAYO,

IT_FCAT TYPE LVC_T_FCAT,

WA_FCAT TYPE LVC_S_FCAT,

CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

GRID1 TYPE REF TO CL_GUI_ALV_GRID.

----


  • P A R A M E T E R S, S E L E C T O P T I O N S . *

----


SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,

S_AUART FOR VBAK-AUART,

S_ERDAT FOR VBAK-ERDAT,

S_BESTK FOR VBUK-BESTK,

S_ERNAM FOR VBAK-ERNAM,

  • CHOO01 - BEGIN.

S_WERKS FOR VBAP-WERKS.

  • CHOO01 - END.

SELECTION-SCREEN: SKIP.

SELECTION-SCREEN END OF BLOCK 001.

----


  • S T A R T - O F - S E L E C T I O N . *

----


START-OF-SELECTION.

  • Check input. Key selection cannot be blank!

IF S_VBELN

AND S_AUART

AND S_ERDAT

AND S_BESTK

AND S_ERNAM

  • CH0001 - BEGIN.

AND S_WERKS IS INITIAL.

  • CH0001 - END.

MESSAGE I000(ZABAP_MSG).

ELSE.

PERFORM GET_DATA.

PERFORM COLLECT_DATA.

G_REPID = SY-REPID.

CALL SCREEN 100.

ENDIF.

&----


*& Form GET_DATA

&----


FORM GET_DATA.

SELECT PVBELN PKNUMV PERDAT PBSTNK PKVGR1 PWAERK P~ERNAM

FROM VBAK AS P INNER JOIN VBUK AS T ON PVBELN = TVBELN

INTO TABLE TT_VBAK

WHERE P~VBELN IN S_VBELN AND

P~AUART IN S_AUART AND

P~ERDAT IN S_ERDAT AND

P~ERNAM IN S_ERNAM AND

T~BESTK IN S_BESTK.

PERFORM F_POP_VBAP .

PERFORM F_POP_VBPA .

PERFORM F_POP_VBKD .

PERFORM F_POP_VBEP.

PERFORM F_POP_KONV.

PERFORM F_POP_TVAGT .

ENDFORM. "GET_DATA

&----


*& Form COLLECT_DATA

&----


FORM COLLECT_DATA.

LOOP AT TT_VBAP.

*COLLECT ITEM, PLANT, MATERIAL NO, REJECT REASON, MAT GRP, DESC.

MOVE: TT_VBAP-POSNR TO TT_INTAB-POSNR,

TT_VBAP-WERKS TO TT_INTAB-WERKS,

TT_VBAP-MATNR TO TT_INTAB-MATNR,

TT_VBAP-PRODH TO TT_INTAB-PRODH,

TT_VBAP-ABGRU TO TT_INTAB-ABGRU,

TT_VBAP-MATKL TO TT_INTAB-MATKL,

TT_VBAP-ARKTX TO TT_INTAB-ARKTX.

**CH0002-BEGIN

*COLLECT REJECT DESC

READ TABLE TT_TVAGT WITH KEY ABGRU = TT_VBAP-ABGRU.

MOVE: TT_TVAGT-BEZEI TO TT_INTAB-BEZEI.

**CH0002-END

*COLLECT DATE,SALES DOC, PO NO, CUST GRP1, CURRENCY

READ TABLE TT_VBAK WITH KEY VBELN = TT_VBAP-VBELN.

MOVE: TT_VBAK-ERDAT TO TT_INTAB-ERDAT,

TT_VBAK-VBELN TO TT_INTAB-VBELN,

TT_VBAK-BSTNK TO TT_INTAB-BSTNK,

TT_VBAK-KVGR1 TO TT_INTAB-KVGR1,

TT_VBAK-ERNAM TO TT_INTAB-ERNAM,

TT_VBAK-WAERK TO TT_INTAB-WAERK.

*COLLECT SOLD-TO-PARTY

READ TABLE TT_VBPA WITH KEY VBELN = TT_VBAP-VBELN

PARVW = 'AG'.

MOVE: TT_VBPA-KUNNR TO TT_INTAB-SOPTY.

CLEAR TT_VBPA-KUNNR.

*COLLECT END CUSTOMER

READ TABLE TT_VBPA WITH KEY VBELN = TT_VBAP-VBELN

PARVW = 'Z2'.

MOVE: TT_VBPA-KUNNR TO TT_INTAB-ENCUS.

CLEAR TT_VBPA-KUNNR.

*COLLECT SALES PERSON

READ TABLE TT_VBPA WITH KEY VBELN = TT_VBAP-VBELN

PARVW = 'Z3'.

MOVE: TT_VBPA-KUNNR TO TT_INTAB-SALEP.

CLEAR TT_VBPA-KUNNR.

*COLLECT END CUST GRP, SALES DISTRICT

READ TABLE TT_VBKD WITH KEY VBELN = TT_VBAP-VBELN.

MOVE: TT_VBKD-KDGRP TO TT_INTAB-KDGRP,

TT_VBKD-BZIRK TO TT_INTAB-BZIRK.

*COLLECT CONFIRM QUANTITY

READ TABLE TT_VBEP WITH KEY VBELN = TT_VBAK-VBELN

POSNR = TT_VBAP-POSNR.

MOVE: TT_VBEP-WMENG TO TT_INTAB-WMENG.

*COLLECT CONDITION TYPE.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZLP1'.

IF TT_KONV-KSCHL EQ 'ZLP1'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZLP1.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZA01'.

IF TT_KONV-KSCHL EQ 'ZA01'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZA01.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZNDN'.

IF TT_KONV-KSCHL EQ 'ZNDN'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZNDN.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'RA00'.

IF TT_KONV-KSCHL EQ 'RA00'.

MOVE: TT_KONV-KWERT TO TT_INTAB-RA00.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZB00'.

IF TT_KONV-KSCHL EQ 'ZB00'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZB00.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'MWST'.

IF TT_KONV-KSCHL EQ 'MWST'.

MOVE: TT_KONV-KWERT TO TT_INTAB-MWST.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'VPRS'.

IF TT_KONV-KSCHL EQ 'VPRS'.

MOVE: TT_KONV-KWERT TO TT_INTAB-VPRS.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZPR1'.

IF TT_KONV-KSCHL EQ 'ZPR1'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZPR1.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZCR1'.

IF TT_KONV-KSCHL EQ 'ZCR1'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZCR1.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZCRS'.

IF TT_KONV-KSCHL EQ 'ZCRS'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZCRS.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZPRS'.

IF TT_KONV-KSCHL EQ 'ZPRS'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZPRS.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'EK02'.

IF TT_KONV-KSCHL EQ 'EK02'.

MOVE: TT_KONV-KWERT TO TT_INTAB-EK02.

ENDIF.

  • CH0001 - BEGIN.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZCRT'.

IF TT_KONV-KSCHL EQ 'ZCRT'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZCRT.

ENDIF.

CLEAR TT_KONV-KWERT.

READ TABLE TT_KONV WITH KEY KPOSN = TT_VBAP-POSNR

KNUMV = TT_VBAK-KNUMV

KSCHL = 'ZHDC'.

IF TT_KONV-KSCHL EQ 'ZHDC'.

MOVE: TT_KONV-KWERT TO TT_INTAB-ZHDC.

ENDIF.

  • CH0001 - END.

*APPEND DATA

APPEND TT_INTAB. CLEAR TT_INTAB.

ENDLOOP.

ENDFORM. "COLLECT_DATA

----


  • MODULE PBO OUTPUT *

----


MODULE PBO OUTPUT.

SET PF-STATUS 'MAIN100'.

SET TITLEBAR 'MAIN100'.

IF CUSTOM_CONTAINER IS INITIAL.

  • create a custom container control for our ALV Control

CREATE OBJECT CUSTOM_CONTAINER

EXPORTING

CONTAINER_NAME = 'MYCONTAINER'

EXCEPTIONS

CNTL_ERROR = 1

CNTL_SYSTEM_ERROR = 2

CREATE_ERROR = 3

LIFETIME_ERROR = 4

LIFETIME_DYNPRO_DYNPRO_LINK = 5.

IF SY-SUBRC NE 0.

CALL FUNCTION 'POPUP_TO_INFORM'

EXPORTING

TITEL = G_REPID

TXT2 = SY-SUBRC

TXT1 = 'The control could not be created'(010).

ENDIF.

  • create an instance of alv control

CREATE OBJECT GRID1

EXPORTING I_PARENT = CUSTOM_CONTAINER.

  • Set a titlebar for the grid control

GS_LAYOUT-GRID_TITLE = 'Sales Order Pricing Conditions'(100).

  • reserve two lines for the PRINT_END_OF_PAGE event

GS_PRINT-RESERVELNS = 2.

PERFORM GENERATE_FIELDCATALOG.

CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_STRUCTURE_NAME = 'TT_INTAB'

IS_PRINT = GS_PRINT

IS_LAYOUT = GS_LAYOUT

CHANGING

IT_FIELDCATALOG = IT_FCAT

IT_OUTTAB = TT_INTAB[].

ENDIF.

CALL METHOD CL_GUI_CONTROL=>SET_FOCUS

EXPORTING

CONTROL = GRID1.

ENDMODULE. "pbo OUTPUT

----


  • MODULE PAI INPUT *

----


MODULE PAI INPUT.

CASE OK_CODE.

WHEN 'EXIT'.

PERFORM EXIT_PROGRAM.

ENDCASE.

CLEAR OK_CODE.

ENDMODULE. "pai INPUT

----


  • FORM EXIT_PROGRAM *

----


FORM EXIT_PROGRAM.

CALL METHOD CUSTOM_CONTAINER->FREE.

CALL METHOD CL_GUI_CFW=>FLUSH.

IF SY-SUBRC NE 0.

CALL FUNCTION 'POPUP_TO_INFORM'

EXPORTING

TITEL = G_REPID

TXT2 = SY-SUBRC

TXT1 = 'Error in Flush'(009).

ENDIF.

LEAVE PROGRAM.

ENDFORM. "exit_program

&----


*& Form generate_fieldcatalog

&----


FORM GENERATE_FIELDCATALOG.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ERDAT'.

WA_FCAT-REF_FIELD = 'ERDAT'.

WA_FCAT-REF_TABLE = 'VBAK'.

WA_FCAT-COLTEXT = 'Date'.

WA_FCAT-TOOLTIP = 'Document Date'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'VBELN'.

WA_FCAT-REF_FIELD = 'VBELN'.

WA_FCAT-REF_TABLE = 'VBAK'.

WA_FCAT-COLTEXT = 'Sales Doc'.

WA_FCAT-TOOLTIP = 'Sales Document'.

APPEND WA_FCAT TO IT_FCAT.

**CH0002-BEGIN

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ERNAM'.

WA_FCAT-REF_FIELD = 'ERNAM'.

WA_FCAT-REF_TABLE = 'VBAK'.

WA_FCAT-COLTEXT = 'Created By'.

WA_FCAT-TOOLTIP = 'Created By'.

APPEND WA_FCAT TO IT_FCAT.

**CH0002-END

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'BSTNK'.

WA_FCAT-REF_FIELD = 'BSTNK'.

WA_FCAT-REF_TABLE = 'VBAK'.

WA_FCAT-COLTEXT = 'PO Num'.

WA_FCAT-TOOLTIP = 'Customer Purchase Order Number'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'SOPTY'.

WA_FCAT-REF_FIELD = 'KUNNR'.

WA_FCAT-REF_TABLE = 'VBPA'.

WA_FCAT-COLTEXT = 'Sold-to Party'.

WA_FCAT-TOOLTIP = 'Sold-to Party'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ENCUS'.

WA_FCAT-REF_FIELD = 'KUNNR'.

WA_FCAT-REF_TABLE = 'VBPA'.

WA_FCAT-COLTEXT = 'End Customer'.

WA_FCAT-TOOLTIP = 'End Customer'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'KDGRP'.

WA_FCAT-REF_FIELD = 'KDGRP'.

WA_FCAT-REF_TABLE = 'VBKD'.

WA_FCAT-COLTEXT = 'End Cust. Grp.'.

WA_FCAT-TOOLTIP = 'Customer Group'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'KVGR1'.

WA_FCAT-REF_FIELD = 'KVGR1'.

WA_FCAT-REF_TABLE = 'VBAK'.

WA_FCAT-COLTEXT = 'Cust.Grp.1'.

WA_FCAT-TOOLTIP = 'Customer Group 1'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'BZIRK'.

WA_FCAT-REF_FIELD = 'BZIRK'.

WA_FCAT-REF_TABLE = 'VBPA'.

WA_FCAT-COLTEXT = 'Sales District'.

WA_FCAT-TOOLTIP = 'Sales District'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'SALEP'.

WA_FCAT-REF_FIELD = 'KUNNR'.

WA_FCAT-REF_TABLE = 'VBPA'.

WA_FCAT-COLTEXT = 'Sales Person'.

WA_FCAT-TOOLTIP = 'Sales Person'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'POSNR'.

WA_FCAT-REF_FIELD = 'POSNR'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Item'.

WA_FCAT-TOOLTIP = 'Sales Document Item'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'WERKS'.

WA_FCAT-REF_FIELD = 'WERKS'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Plant'.

WA_FCAT-TOOLTIP = 'Delivery Plant'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'MATNR'.

WA_FCAT-REF_FIELD = 'MATNR'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Material No.'.

WA_FCAT-TOOLTIP = 'Material Number'.

APPEND WA_FCAT TO IT_FCAT.

                    • ADDED BY JSPC ON 05/08/2006

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'PRODH'.

WA_FCAT-REF_FIELD = 'PRODH'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Product Hierarchy'.

WA_FCAT-TOOLTIP = 'Product Hierarchy'.

APPEND WA_FCAT TO IT_FCAT.

*********END OF ADDING.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ARKTX'.

WA_FCAT-REF_FIELD = 'ARKTX'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Description'.

WA_FCAT-TOOLTIP = 'Material Description'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'MATKL'.

WA_FCAT-REF_FIELD = 'MATKL'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Mat Grp'.

WA_FCAT-TOOLTIP = 'Material Group'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'WMENG'.

WA_FCAT-REF_FIELD = 'WMENG'.

WA_FCAT-REF_TABLE = 'VBEP'.

WA_FCAT-COLTEXT = 'Ord Qty'.

WA_FCAT-TOOLTIP = 'Confirmed Quantity'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'WAERK'.

WA_FCAT-REF_FIELD = 'WAERK'.

WA_FCAT-REF_TABLE = 'VBAK'.

WA_FCAT-COLTEXT = 'Curr'.

WA_FCAT-TOOLTIP = 'Currency Key'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ABGRU'.

WA_FCAT-REF_FIELD = 'ABGRU'.

WA_FCAT-REF_TABLE = 'VBAP'.

WA_FCAT-COLTEXT = 'Reject'.

WA_FCAT-TOOLTIP = 'Reason for rejection of quotations & sales orders.'

.

APPEND WA_FCAT TO IT_FCAT.

**CH0002-BEGIN

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'BEZEI'.

WA_FCAT-REF_FIELD = 'BEZEI'.

WA_FCAT-REF_TABLE = 'TVAGT'.

WA_FCAT-COLTEXT = 'Reject Desc.'.

WA_FCAT-TOOLTIP = 'Reject Description'.

APPEND WA_FCAT TO IT_FCAT.

**CH0002-END

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZLP1'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZLP1'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

  • WA_FCAT-LZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZA01'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZA01'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZNDN'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZNDN'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'RA00'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'RA00'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZB00'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZB00'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'MWST'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'MWST'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'VPRS'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'VPRS'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZPR1'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZPR1'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZCR1'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZCR1'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZCRS'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZCRS'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZPRS'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZPRS'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'EK02'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'EK02'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

  • CH0001 - BEGIN.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZCRT'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZCRT'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'ZHDC'.

WA_FCAT-REF_FIELD = 'KWERT'.

WA_FCAT-REF_TABLE = 'KONV'.

WA_FCAT-COLTEXT = 'ZHDC'.

WA_FCAT-TOOLTIP = 'Condition Type'.

WA_FCAT-NO_ZERO = 'X'.

APPEND WA_FCAT TO IT_FCAT.

  • CH0001 - END.

ENDFORM. "generate_fieldcatalog

&----


*& Form f_pop_vbap

&----


  • pop vbap

----


FORM F_POP_VBAP .

DATA: LTT_DATA LIKE TT_VBAK OCCURS 0 .

LTT_DATA[] = TT_VBAK[].

SORT LTT_DATA BY VBELN.

DELETE ADJACENT DUPLICATES FROM LTT_DATA COMPARING VBELN.

CHECK NOT LTT_DATA[] IS INITIAL.

SELECT VBELN POSNR WERKS MATNR PRODH ABGRU ARKTX MATKL FROM VBAP

INTO TABLE TT_VBAP

FOR ALL ENTRIES IN LTT_DATA

WHERE VBELN = LTT_DATA-VBELN

  • CH0001 - BEGIN.

AND WERKS IN S_WERKS.

  • CH0001 - END.

ENDFORM. " f_pop_vbap

&----


*& Form f_pop_vbpa

&----


  • pop vbpa

----


FORM F_POP_VBPA .

DATA: LTT_DATA LIKE TT_VBAK OCCURS 0 .

LTT_DATA[] = TT_VBAK[].

SORT LTT_DATA BY VBELN.

DELETE ADJACENT DUPLICATES FROM LTT_DATA COMPARING VBELN.

CHECK NOT LTT_DATA[] IS INITIAL.

SELECT VBELN POSNR PARVW KUNNR FROM VBPA

INTO TABLE TT_VBPA

FOR ALL ENTRIES IN LTT_DATA

WHERE VBELN = LTT_DATA-VBELN.

ENDFORM. " f_pop_vbpa

&----


*& Form f_pop_vbkd

&----


  • pop vbkd

----


FORM F_POP_VBKD .

DATA: LTT_DATA LIKE TT_VBAK OCCURS 0 .

LTT_DATA[] = TT_VBAK[].

SORT LTT_DATA BY VBELN.

DELETE ADJACENT DUPLICATES FROM LTT_DATA COMPARING VBELN.

CHECK NOT LTT_DATA[] IS INITIAL.

SELECT VBELN POSNR KDGRP BZIRK FROM VBKD

INTO TABLE TT_VBKD

FOR ALL ENTRIES IN LTT_DATA

WHERE VBELN = LTT_DATA-VBELN.

ENDFORM. " f_pop_vbkd

&----


*& Form f_pop_vbep

&----


  • pop vbep

----


FORM F_POP_VBEP .

DATA: LTT_DATA LIKE TT_VBAK OCCURS 0 .

LTT_DATA[] = TT_VBAK[].

SORT LTT_DATA BY VBELN.

DELETE ADJACENT DUPLICATES FROM LTT_DATA COMPARING VBELN.

CHECK NOT LTT_DATA[] IS INITIAL.

SELECT VBELN POSNR WMENG FROM VBEP

INTO TABLE TT_VBEP

FOR ALL ENTRIES IN LTT_DATA

WHERE VBELN = LTT_DATA-VBELN.

ENDFORM. " f_pop_vbep

&----


*& Form f_pop_konv

&----


  • pop konv

----


FORM F_POP_KONV .

DATA: LTT_DATA LIKE TT_VBAP OCCURS 0 .

LTT_DATA[] = TT_VBAP[].

SORT LTT_DATA BY POSNR.

DELETE ADJACENT DUPLICATES FROM LTT_DATA COMPARING POSNR.

CHECK NOT LTT_DATA[] IS INITIAL.

SELECT KNUMV KPOSN WAERS KWERT KSCHL FROM KONV

INTO TABLE TT_KONV

FOR ALL ENTRIES IN LTT_DATA

WHERE KPOSN = LTT_DATA-POSNR .

ENDFORM. " f_pop_konv

&----


*& Form F_POP_TVAGT

&----


  • POP TVAGT

----


**CH0002-BEGIN

FORM F_POP_TVAGT .

DATA: LTT_DATA LIKE TT_VBAP OCCURS 0 .

LTT_DATA[] = TT_VBAP[].

SORT LTT_DATA BY ABGRU.

DELETE ADJACENT DUPLICATES FROM LTT_DATA COMPARING ABGRU.

CHECK NOT LTT_DATA[] IS INITIAL.

SELECT SPRAS ABGRU BEZEI FROM TVAGT

INTO TABLE TT_TVAGT

FOR ALL ENTRIES IN LTT_DATA

WHERE ABGRU = LTT_DATA-ABGRU

AND SPRAS = SY-LANGU.

**CH0002-END

ENDFORM. " F_POP_TVAGT</i>

this is the current program that i took from se38.

plz advice me, thank you.

0 Kudos

Looks like the program runs in background. In that case you can not download the file in presentation server. Option is either download output to Application server or email the output as an attachment.

To mail the report as an attachment at the end using function module, check this thread for more details.

This will simplify the process.

ashish

0 Kudos

hi there,

thanks for ur advice,

<i>as u said erlier, can i add the parameter where the user can select the out path for the report, although it run in presentation server? and disable the printing?

the selection for the output file then can b set with default using the varient?</i>

0 Kudos

You can but you need to make sure that the file download is only applicable for foreground run and not for background run. If this is not handled, program will dump when run in background.

ashish

Former Member
0 Kudos

hi there,

thank you for ur kindness, it was very help full for me,

thank you once again.