Header in every page of SAP-Script
Hi all,
How to print header in every page of SAP-Script?
Thanks in advance,
SG
Hi,
While giving the WRITE FOR, u have to give the Value HEADER for TYPE.
U have it to give it inside the Loop so that u ll get the header in all pages.
For eg.,
Loop at <itab>.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'ELEMENT1'
type = 'HEADER'
window = 'WINDOW1'.
endloop.
Regards,
Padmam.
Similar Messages
-
Why last 4 lines of every page in sap script are not coming ,it is not o
pls give some solution why last 4 lines of every page in sap script are not coming ,it is not over flowing to next page even? it is any page format related problem or coding problem?
Hi,
Use PROTECT ENDPROTECT statement it displays hole paragraph in to the single page and also to over come this issue.
Regards
Md.MahaboobKhan -
How To trigger last page in sap script of customer account statement
Hello all,
I am working on customer account statement.
It has it's own standard script(F140_CUS_STAT_02). But my client's requirement was completly diffrent,so i copied that to z script and made some changes like delete some window and some another window.
Now on first page , i have following windows,
1) Header
2) address
3) main
4) Account
5) Footer.
Next Page having following windows,
1) Header
2) Main
3) account
4) footer
Now i want to print account window on lsat page, so i put the condition nextpage = 0.
and it is working fine , but as account window is physically present after Main window , so that much blak sapge is getting creted after main window on every page.
To remove that blank space i am thinking of creting one more page and everytime i want display account window on that page.
I have creted the last page also. but in my output it not detecting that last page.
For First page - next page is next.
For Next page - next page is next.
for Last page- next page is last.
Also i have added following code at last in main window.
/: NEXT-PAGE LAST.
But i think i am placing this code at incorrect position in main window.
I am not able to find out the correct podition to put the above code,but main window of that script conataing so namy text element, and that text element are getting handled from driver program based on some conditions.
I have added my code in main window but not changed the original code.
Plz let me know where to write /: NEXT-PAGE LAST. in main window.
Or provide me some another solution to trigger thet last page in sap script.
Regards,
Anuja DhondgeHi ,
actually in account window i have used tha box command to print account statement.
Previously i was printing this account statement in main window itself but without using bottom and end bottom command.
So , as i made some changes or add some code in main window then lines of this account statement were getting dismental.
So my question is using bottom and end-bottom command this will happen or not???? -
Regarding Multiple pages in SAP Script Output
Hi All,
I have a requirement in SAP Script where i need to print data in multiple pages. I had created 1 page - FIRST with properties <b>Next Page</b> as FIRST , <b>Mode</b> as INC.
In the output i have multiple line items, the data will carry upto 3 pages.
Now In the output First page data is printing correctly.
In the second page all the windows are carried forward to print all the data correctly except in MAIN WINDOW.
In Second page in MAIN Window i have ITEM HEADER which i want to print on every page as it is printing in First page of output, but i am not been able print ITEM HEADER though i am able to print all the ITEM DETAILS correctly on every page.
Can anybody tell how can i print ITEM HEADER on every page which is in MAIN Window.
Thanks in advance.
Thanks & Regards,
Rayeezuddin.Hi Shaik,
If you are only printing Item Details in the Main Window, why don't you create a saperate window just above your main window for Item Headers.
Hope this should solve your problem or Please elobarate your query.
Thanks,
Vinod. -
How to change a Code Page in SAP SCRIPT ?
I have a specific requirement, would need your help :
There is a <u><b>CODE PAGE</b></u> which is getting assigned to the <u><b>SAP SCRIPT FORM</b></u>. <i><b>For E.g : 1100 is generally used for SAP SCRIPTS.</b></i>
I would like to know if there is a possibility to change the <u><b>Code Page</b></u> based on certain conditions ??
Also i would like to know how and where is a <u><b>CODE PAGE and SAP SCRIPT FORM linked.</b></u>
I have analysed that a <b>default code page</b> can be set in the <b>SAP LOG ON PAD</b> but not able to find the issues mentioned above.
Kindly help me out with your valuable suggestions and solutions.
Thankyou
Brijesh.Hi,
MDMP means Multi Display Multi Processing. See the note system for details. The problem of MDMP is that the different languages use different codepages and not all characteres can be displayed in every codepage.
A solution would be a unicode conversion of the system. In unicode there is only one internal codepage, which contains all special characters of the individual languages. However the migration needs several hours of down time and unicode systems need more memory and disk space. I can't tell you a percentage for that. You need at least R/3 4.7 for unicode.
In non-unicode system I believe you can't change the codepage inside a SAPscript document directly. I would have to end form processing an start a new form. To change the language you can try the ABAP-command SET LOCALE. Also see the language parameter in START_FORM.
If that doesn't work I would try using RFC-Connections. Make RFC-Connections in your system which contain the system it self as target system, but with the desired language filled in. You do not need to provide a user or password, that would be taken form the logged on user.
Inside your printing program you put the real printing into a function module. Your report then can call the function via RFC using a connection in the correct logon language.
Greetings -
How to print last page in sap script in ladscape format?
Hi all,
can any 1 tell me How to print last page in sap script in ladscape format?
Thanks In advance.
PravinHi Pravin Sherkar,
we can do this in SAP Scripts.
we need to create two pages, one of landscape and another of potrait.
now after filling the data at last we need to call the page which is of format landscape using START_FORM function module.
You can use condition &PAGE& = &FORMPAGES&.
Please check this link
Printing Portrait/Landscape in sapscript
Re: Landscape and potrait in same layout?
http://www.sap-img.com/ts013.htm
Best regards,
raam -
I need page no's and top of page header to every page
Hi Experts,
i need page no's and top of page header to every page
to this report.
i took print outs it came only page number 1 to all the pages, after took prints it seems header to all the pages
but not displaying in output screen.
TYPE-POOLS: SLIS.
TABLES: MKPF,LFA1,MSEG,EKET,T001L,MAKT,S031,S032,MARA,LIPS,LIKP,T001W.
DATA FLAG TYPE I.
DATA : MENGE_RE LIKE MSEG-MENGE,
MENGE_IS LIKE MSEG-MENGE,
MENGE_O LIKE MSEG-MENGE,
MENGE_BAL LIKE MSEG-MENGE.
DATA MAGBB LIKE S031-MAGBB.
DATA MZUBB LIKE S031-MZUBB.
DATA V_MONTH LIKE S031-SPMON.
DATA XBLNR LIKE MKPF-XBLNR.
DATA : BEGIN OF ITAB1 OCCURS 100,
MATNR LIKE MAKT-MATNR,
END OF ITAB1.
DATA : BEGIN OF ITAB2 OCCURS 100,
MATNR LIKE MAKT-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
BUSTW LIKE MSEG-BUSTW,
BWART LIKE MSEG-BWART,
SHKZG LIKE MSEG-SHKZG,
MENGE LIKE MSEG-MENGE,
END OF ITAB2.
DATA: PAGNO(5) TYPE C.
DATA : PAGENO LIKE SY-PAGNO.
DATA: STR1 TYPE DATS,
STR2(14) TYPE C,
STR3(10) TYPE C.
DATA : V_MONUM LIKE T015M-MONUM,
V_MONAM LIKE T015M-MONAM.
TYPES: FARBE TYPE SLIS_T_SPECIALCOL_ALV.
DATA V_STOCK LIKE MSEG-MENGE.
DATA V_STOCK1 LIKE MSEG-MENGE.
DATA: V_MONTH1 LIKE S031-SPMON.
DATA: OSTOCK LIKE MSEG-MENGE.
CONSTANTS:
GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_LAYOUT TYPE SLIS_LAYOUT_ALV,
GS_KEYINFO TYPE SLIS_KEYINFO_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GT_EVENTS TYPE SLIS_T_EVENT,
G_PRINT TYPE SLIS_PRINT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.
DATA: FC_HIER TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.
DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: GT_REPID LIKE SY-REPID.
DATA: GT_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
DATA: GT_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST'.
DATA: FLD(15).
DATA: TXT(50).
I N I T I A L I Z A T I O N
GT_REPID = SY-REPID.
PAGNO = SY-PAGNO.
PERFORM EVENTTAB_BUILD USING GT_EVENTS[].
A T S E L E C T I O N S C R E E N
*AT SELECTION-SCREEN ON BUDAT.
PERFORM VALIDATION.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
PERFORM FETCH_DATA.
E N D O F S E L E C T I O N
END-OF-SELECTION.
IF NOT ITAB2[] IS INITIAL.
PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GT_REPID
IT_FIELDCAT = GT_FIELDCAT[]
IT_EVENTS = GT_EVENTS[]
IT_SORT = GT_SORT[]
IS_LAYOUT = GT_LAYOUT
TABLES
T_OUTTAB = ITAB2.
ELSE.
MESSAGE S006(Z1).
ENDIF.
CLEAR : GT_LAYOUT.
Report Selections
DATA: BEGIN OF IT_HEADER OCCURS 10,
WERKS LIKE MSEG-WERKS,
NAME1 LIKE T001W-NAME1,
MAKTX LIKE MAKT-MAKTX,
MATNR LIKE MSEG-MATNR,
MENGE_O LIKE MSEG-MENGE,
END OF IT_HEADER.
DATA: BEGIN OF ITAB OCCURS 50,
WERKS LIKE MSEG-WERKS,
MATNR LIKE MSEG-MATNR,
BWART LIKE MSEG-BWART,
LGORT LIKE MSEG-LGORT,
EBELN LIKE MSEG-EBELN,
XBLNR LIKE MKPF-XBLNR,
BUDAT LIKE MKPF-BUDAT,
MBLNR LIKE MSEG-MBLNR,
MENGE LIKE MSEG-MENGE,
MAKTX LIKE MAKT-MAKTX,
XAUTO LIKE MSEG-XAUTO,
NAME1 LIKE T001W-NAME1,
MENGE_O LIKE MSEG-MENGE,
SHKZG LIKE MSEG-SHKZG,
MENGE_IS LIKE MSEG-MENGE,
MENGE_RE LIKE MSEG-MENGE,
END OF ITAB.
DATA: BEGIN OF INT_DATA OCCURS 50,
WERKS LIKE MSEG-WERKS,
MATNR LIKE MSEG-MATNR,
BWART LIKE MSEG-BWART,
XBLNR LIKE MKPF-XBLNR,
MBLNR LIKE MSEG-MBLNR,
BUDAT LIKE MKPF-BUDAT,
MAKTX LIKE MAKT-MAKTX,
MENGE_O LIKE MSEG-MENGE,
MENGE_R LIKE MSEG-MENGE,
MENGE_TO LIKE MSEG-MENGE,
MENGE_TI LIKE MSEG-MENGE,
MENGE_S LIKE MSEG-MENGE,
MENGE_ST LIKE MSEG-MENGE,
MENGE_AD LIKE MSEG-MENGE,
MENGE_RT LIKE MSEG-MENGE,
MENGE_C LIKE MSEG-MENGE,
MENGE_CL LIKE MSEG-MENGE,
MENGE_BAL LIKE MSEG-MENGE,
MENGE_CR LIKE MSEG-MENGE,
NAME1 LIKE T001W-NAME1,
MENGE_RE LIKE MSEG-MENGE,
MENGE_IS LIKE MSEG-MENGE,
MENGE_BAL1 LIKE MSEG-MENGE,
SHKZG LIKE MSEG-SHKZG,
MENGE LIKE MSEG-MENGE,
END OF INT_DATA.
DATA: BEGIN OF INT_DATA1 OCCURS 50,
WERKS LIKE MSEG-WERKS,
MATNR LIKE MSEG-MATNR,
BWART LIKE MSEG-BWART,
MENGE_ST LIKE MSEG-MENGE,
MENGE_O LIKE MSEG-MENGE,
WAMNG LIKE EKET-WAMNG,
WEMNG LIKE EKET-WEMNG,
MENGE LIKE MSEG-MENGE,
RETPO LIKE EKPO-RETPO,
UMREN LIKE EKPO-UMREN,
UMREZ LIKE EKPO-UMREZ,
BSTMG LIKE EKPO-MENGE,
XBLNR LIKE MKPF-XBLNR,
END OF INT_DATA1.
DATA: BEGIN OF INT_DATA2 OCCURS 50,
WERKS LIKE MSEG-WERKS,
LGORT LIKE S031-LGORT,
MATNR LIKE MSEG-MATNR,
BWART LIKE MSEG-BWART,
MENGE_IS LIKE MSEG-MENGE,
MBWBEST LIKE S032-MBWBEST,
MAKTX LIKE MAKT-MAKTX,
END OF INT_DATA2.
DATA:V_GJAHR LIKE MKPF-BUDAT.
DATA : FLAG6 TYPE C,
PAGENO1 LIKE SY-PAGNO,
PAGENO2 LIKE SY-PAGNO.
SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-064.
SELECT-OPTIONS:
MATNR FOR MSEG-MATNR,
MATKL FOR MARA-MATKL OBLIGATORY,
WERKS FOR MSEG-WERKS OBLIGATORY,
LGORT FOR MSEG-LGORT,
*CHARG FOR MSEG-CHARG,
BWART FOR MSEG-BWART,
*LIFNR FOR LFA1-LIFNR,
*WADAT FOR LIKP-WADAT_IST,
BUDAT FOR MKPF-BUDAT.
SELECTION-SCREEN END OF BLOCK 0.
*SELECTION-SCREEN SKIP 1.
Parameters
*SELECTION-SCREEN SKIP 1.
Variante
*SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-064.
DATA: P_VARI LIKE DISVARIANT-VARIANT.
*SELECTION-SCREEN END OF BLOCK 0.
Layout
SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME TITLE TEXT-060.
DATA: P_ZEBRA VALUE 'X'.
SELECTION-SCREEN END OF BLOCK A.
SELECTION-SCREEN BEGIN OF BLOCK D WITH FRAME TITLE TEXT-063.
PARAMETERS:
P_EXPAND AS CHECKBOX DEFAULT ' '.
DATA: P_DETPOP VALUE 'X' .
SELECTION-SCREEN END OF BLOCK D.
DATA: G_BOXNAM TYPE SLIS_FIELDNAME VALUE 'BOX',
G_EXPANDNAME TYPE SLIS_FIELDNAME VALUE 'EXPAND',
P_F2CODE LIKE SY-UCOMM VALUE '&ETA',
P_LIGNAM TYPE SLIS_FIELDNAME VALUE 'LIGHTS',
G_SAVE(1) TYPE C,
G_TABNAME_HEADER TYPE SLIS_TABNAME,
G_TABNAME_ITEM TYPE SLIS_TABNAME,
G_EXIT(1) TYPE C,
GX_VARIANT LIKE DISVARIANT,
G_VARIANT LIKE DISVARIANT.
INITIALIZATION.
GT_REPID = SY-REPID.
G_TABNAME_HEADER = 'IT_HEADER'.
G_TABNAME_ITEM = 'INT_DATA'.
define keyinfo
CLEAR GS_KEYINFO.
GS_KEYINFO-HEADER01 = 'MATNR'.
GS_KEYINFO-ITEM01 = 'MATNR'.
*GS_KEYINFO-HEADER01.
PERFORM E01_FIELDCAT_INIT USING GT_FIELDCAT[].
PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
PERFORM E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
PERFORM E06_T_SORT_BUILD USING GT_SORT[].
PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
Schalter Varianten benutzerspezifisch/allgemein speicherbar setzen
Set Options: save variants userspecific or general
G_SAVE = 'A'.
PERFORM VARIANT_INIT.
Get default variant
GX_VARIANT = G_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
Process on value request
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
PERFORM F4_FOR_VARIANT.
AT SELECTION-SCREEN.
PERFORM PAI_OF_SELECTION_SCREEN.
START-OF-SELECTION.
END-OF-SELECTION.
PERFORM LAYOUT_BUILD USING GT_LAYOUT. "wg. Parameters
Call ABAP/4 List Viewer
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GT_REPID
IS_LAYOUT = GT_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_SPECIAL_GROUPS = GT_SP_GROUP[]
IT_SORT = GT_SORT[]
I_SAVE = G_SAVE
IS_VARIANT = G_VARIANT
IT_EVENTS = GT_EVENTS[]
I_TABNAME_HEADER = G_TABNAME_HEADER
I_TABNAME_ITEM = G_TABNAME_ITEM
IS_KEYINFO = GS_KEYINFO
IS_PRINT = G_PRINT
TABLES
T_OUTTAB_HEADER = IT_HEADER
T_OUTTAB_ITEM = INT_DATA.
FORM E01_FIELDCAT_INIT *
--> E01_LT_FIELDCAT *
FORM FIELDCAT_INIT
USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: POS TYPE I VALUE 1.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'WERKS'.
LS_FIELDCAT-TABNAME = G_TABNAME_HEADER .
LS_FIELDCAT-SELTEXT_L = 'Plant'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NAME1'.
LS_FIELDCAT-TABNAME = G_TABNAME_HEADER .
LS_FIELDCAT-SELTEXT_L = 'Description'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-TABNAME = G_TABNAME_HEADER .
LS_FIELDCAT-SELTEXT_M = 'Material'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MAKTX'.
LS_FIELDCAT-TABNAME = G_TABNAME_HEADER .
LS_FIELDCAT-SELTEXT_M = 'Material Description'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'XBLNR'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Doc No.'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BUDAT'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Doc Date.'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BWART'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Mvt.'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MBLNR'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Mat.Doc No'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_R'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' STO-In '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_RT'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Sales Returns '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_CL'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Canc of Invoice'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_AD'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Adjustments '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_S'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Sales. '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_TO'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' STO-Out '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_CR'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Canc of Sal Returns'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_AD'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = 'Adjustments '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_O'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Opening Balance '.
LS_FIELDCAT-NO_ZERO = 'X'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MENGE_BAL'.
LS_FIELDCAT-TABNAME = G_TABNAME_ITEM .
LS_FIELDCAT-SELTEXT_M = ' Balance '.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
ENDFORM. "E01_FIELDCAT_INIT
FORM E02_DATA_ADD *
--> E02_LT_SFLIGHT *
FORM E03_EVENTTAB_BUILD *
--> E03_LT_EVENTS *
*FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 1
IMPORTING
ET_EVENTS = E03_LT_EVENTS.
READ TABLE E03_LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO E03_LT_EVENTS.
ENDIF.
*ENDFORM. "E03_EVENTTAB_BUILD
FORM E04_COMMENT_BUILD *
--> E04_LT_TOP_OF_PAGE *
FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: LS_LINE TYPE SLIS_LISTHEADER.
Listenüberschrift: Typ H
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = TEXT-001.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = TEXT-050.
LS_LINE-INFO = TEXT-010.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
LS_LINE-KEY = TEXT-051.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
Aktionsinfo: Typ A
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
LS_LINE-INFO = TEXT-002.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
ENDFORM. "E04_COMMENT_BUILD
FORM E05_LAYOUT_BUILD *
<-> E05_LS_LAYOUT *
FORM LAYOUT_BUILD USING LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
LS_LAYOUT-F2CODE = P_F2CODE.
LS_LAYOUT-ZEBRA = P_ZEBRA.
LS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
IF P_EXPAND = 'X'.
LS_LAYOUT-EXPAND_FIELDNAME = G_EXPANDNAME.
ELSE.
CLEAR LS_LAYOUT-EXPAND_FIELDNAME.
ENDIF.
LS_LAYOUT-DETAIL_POPUP = P_DETPOP.
ENDFORM. "E05_LAYOUT_BUILD
FORM E06_T_SORT_BUILD *
--> E06_LT_SORT *
*FORM E06_T_SORT_BUILD USING E06_LT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
CLEAR LS_SORT.
LS_SORT-FIELDNAME = 'WERKS'.
LS_SORT-TABNAME = G_TABNAME_HEADER.
LS_SORT-SPOS = 1.
LS_SORT-UP = 'X'.
APPEND LS_SORT TO E06_LT_SORT.
CLEAR LS_SORT.
LS_SORT-FIELDNAME = 'MATNR'.
LS_SORT-TABNAME = G_TABNAME_ITEM.
LS_SORT-SPOS = 2.
LS_SORT-UP = 'X'.
APPEND LS_SORT TO E06_LT_SORT.
*ENDFORM. "E06_T_SORT_BUILD
FORM E07_SP_GROUP_BUILD *
--> E07_LT_SP_GROUP *
FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
CLEAR LS_SP_GROUP.
LS_SP_GROUP-SP_GROUP = 'A'.
LS_SP_GROUP-TEXT = TEXT-005.
APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
ENDFORM. "E07_SP_GROUP_BUILD
FORM SELECTION *
FORM FETCH_DATA .
STR3 = BUDAT-LOW+0(4).
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB1
WHERE MATNR IN MATNR AND
MATKL IN MATKL.
SELECT MATNR WERKS LGORT
INTO TABLE ITAB2
FROM MARD FOR ALL ENTRIES IN ITAB1
WHERE WERKS IN WERKS AND
LGORT IN LGORT AND
MATNR = ITAB1-MATNR.
SELECT SINGLE NAME1 FROM T001W INTO INT_DATA-NAME1
WHERE WERKS = INT_DATA-WERKS.
LOOP AT ITAB2.
SELECT M~MATNR M~WERKS M~LGORT M~MENGE M~MBLNR M~MJAHR M~XAUTO M~SHKZG
M~BWART M~EBELN N~BUDAT N~XBLNR S~NAME1
INTO CORRESPONDING FIELDS OF ITAB
FROM MSEG AS M INNER JOIN MKPF AS N ON
M~MBLNR = N~MBLNR
AND M~MJAHR = N~MJAHR
INNER JOIN T001W AS S ON
M~WERKS = S~WERKS
WHERE N~BUDAT IN BUDAT AND
M~WERKS = ITAB2-WERKS AND
M~LGORT = ITAB2-LGORT AND
M~MATNR = ITAB2-MATNR AND
M~BWART IN BWART.
APPEND ITAB.
CLEAR ITAB.
ENDSELECT.
IF SY-SUBRC NE 0.
ITAB-MATNR = ITAB2-MATNR.
ITAB-WERKS = ITAB2-WERKS.
ITAB-LGORT = ITAB2-LGORT.
ITAB-BWART = ITAB2-BWART.
APPEND ITAB.
ENDIF.
CLEAR: ITAB2,ITAB.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM ITAB2 COMPARING MATNR WERKS .
V_MONTH = BUDAT-LOW+0(6).
SELECT * INTO CORRESPONDING FIELDS OF TABLE INT_DATA2
FROM S032 FOR ALL ENTRIES IN ITAB2
WHERE MATNR = ITAB2-MATNR
AND WERKS = ITAB2-WERKS
AND LGORT = SPACE
AND MBWBEST <> SPACE.
LOOP AT INT_DATA2 .
SELECT SINGLE * FROM S031
WHERE MATNR = INT_DATA2-MATNR AND
WERKS = INT_DATA2-WERKS AND
LGORT = SPACE AND
SPMON GT V_MONTH.
MODIFY INT_DATA2.
CLEAR: INT_DATA2, S031.
ENDLOOP.
DELETE INT_DATA WHERE MENGE_O IS INITIAL .
DELETE ADJACENT DUPLICATES FROM INT_DATA COMPARING XBLNR MATNR MAKTX.
V_MONTH1 = BUDAT-LOW+0(6).
SORT ITAB BY MATNR WERKS XBLNR .
LOOP AT ITAB.
XBLNR = ITAB-XBLNR.
INT_DATA-MENGE = ITAB-MENGE.
INT_DATA-BWART = ITAB-BWART.
INT_DATA-XBLNR = ITAB-XBLNR.
INT_DATA-BUDAT = ITAB-BUDAT.
INT_DATA-MATNR = ITAB-MATNR.
INT_DATA-MBLNR = ITAB-MBLNR.
INT_DATA-MENGE = ITAB-MENGE.
INT_DATA-SHKZG = ITAB-SHKZG.
INT_DATA-MENGE_IS = ITAB-MENGE_IS.
INT_DATA-MENGE_RE = ITAB-MENGE_RE.
INT_DATA-MENGE_O = ITAB-MENGE_O.
INT_DATA-NAME1 = ITAB-NAME1.
AT NEW MATNR.
FLAG = 1.
IT_HEADER-MATNR = INT_DATA-MATNR.
SELECT SINGLE MAKTX FROM MAKT INTO IT_HEADER-MAKTX WHERE
MATNR = INT_DATA-MATNR.
APPEND IT_HEADER.
CLEAR IT_HEADER.
ENDAT.
IF FLAG = 1.
PERFORM GET_OPENING_STOCK.
ENDIF.
INT_DATA-MENGE_O = OSTOCK.
CASE ITAB-BWART.
WHEN '101'.
IF INT_DATA-SHKZG = 'S'.
INT_DATA-MENGE_R = INT_DATA-MENGE_R + ITAB-MENGE.
ENDIF.
WHEN '453'.
IF INT_DATA-SHKZG = 'S'.
IF ITAB-XAUTO = 'X'.
INT_DATA-MENGE_RT = INT_DATA-MENGE_RT + ITAB-MENGE.
ENDIF.
ENDIF.
WHEN '351' OR '641'.
IF ITAB-LGORT = 0.
INT_DATA-MENGE_R = INT_DATA-MENGE_R + ITAB-MENGE.
ELSE.
INT_DATA-MENGE_TO = INT_DATA-MENGE_TO + ITAB-MENGE.
ENDIF.
WHEN '602' OR '642'.
IF INT_DATA-SHKZG = 'S'.
IF ITAB-LGORT = 0.
INT_DATA-MENGE_CL = INT_DATA-MENGE_CL + ITAB-MENGE.
ENDIF.
ENDIF.
WHEN '552' OR '310'.
IF INT_DATA-SHKZG = 'S'.
INT_DATA-MENGE_AD = INT_DATA-MENGE_AD - ITAB-MENGE.
ENDIF.
WHEN '601'.
IF INT_DATA-SHKZG = 'H'.
INT_DATA-MENGE_S = INT_DATA-MENGE_S + ITAB-MENGE.
ENDIF.
WHEN '641' .
IF INT_DATA-SHKZG = 'H'.
IF ITAB-LGORT = 0.
INT_DATA-MENGE_TO = INT_DATA-MENGE_TO + ITAB-MENGE.
ENDIF.
ENDIF.
WHEN '454' OR '102'.
IF INT_DATA-SHKZG = 'H'.
IF ITAB-XAUTO = 'X'.
INT_DATA-MENGE_CR = INT_DATA-MENGE_CR - ITAB-MENGE.
ENDIF.
ENDIF.
WHEN '551' OR '309'.
IF INT_DATA-SHKZG = 'H'.
INT_DATA-MENGE_AD = INT_DATA-MENGE_AD + ITAB-MENGE.
ENDIF.
IF INT_DATA-SHKZG = 'S'.
MENGE_O = INT_DATA-MENGE_O + ITAB-MENGE.
ENDIF.
ENDCASE.
IF INT_DATA-SHKZG = 'S'.
MENGE_RE = INT_DATA-MENGE_R + INT_DATA-MENGE_RT + INT_DATA-MENGE_CL
+ INT_DATA-MENGE_AD.
ENDIF.
IF INT_DATA-SHKZG = 'H'.
MENGE_IS = INT_DATA-MENGE_S + INT_DATA-MENGE_TO +
INT_DATA-MENGE_CR + INT_DATA-MENGE_AD.
ENDIF.
PERFORM BALANCE.
COLLECT INT_DATA.
CLEAR: INT_DATA,ITAB ,XBLNR, FLAG, OSTOCK.
ENDLOOP.
SORT INT_DATA BY XBLNR BUDAT WERKS MATNR.
LOOP AT INT_DATA.
READ TABLE INT_DATA2 WITH KEY MATNR = INT_DATA-MATNR
WERKS = INT_DATA-WERKS.
SELECT SINGLE * FROM MAKT WHERE MATNR = INT_DATA-MATNR.
INT_DATA-MAKTX = MAKT-MAKTX.
MODIFY INT_DATA.
CLEAR: INT_DATA, INT_DATA2.
ENDLOOP.
LOOP AT INT_DATA WHERE MENGE_O = 0 AND MENGE_RT = 0 AND
MENGE_CL = 0 AND MENGE_AD = 0 AND
MENGE_S = 0 AND MENGE_TO = 0 AND
MENGE_CR = 0 AND MENGE_R = 0 AND MENGE_BAL = 0.
DELETE IT_HEADER WHERE MATNR = INT_DATA-MATNR.
ENDLOOP.
DELETE INT_DATA WHERE MENGE_O = 0 AND MENGE_RT = 0 AND
MENGE_CL = 0 AND MENGE_AD = 0 AND
MENGE_S = 0 AND MENGE_TO = 0 AND
MENGE_CR = 0 AND MENGE_R = 0 AND MENGE_BAL = 0.
ENDFORM. "SELECTION
*& Form EVENTTAB_BUILD
text
-->P_GT_EVENTS[] text
FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 1
IMPORTING
ET_EVENTS = RT_EVENTS.
READ TABLE RT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GT_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO RT_EVENTS.
ENDIF.
ENDFORM. " EVENTTAB_BUILD
FORM TOP_OF_PAGE *
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = LT_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGE
FORM F4_FOR_VARIANT *
FORM F4_FOR_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = G_VARIANT
I_SAVE = G_SAVE
I_TABNAME_HEADER = G_TABNAME_HEADER
I_TABNAME_ITEM = G_TABNAME_ITEM
IMPORTING
E_EXIT = G_EXIT
ES_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 2.
MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
IF G_EXIT = SPACE.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
ENDIF.
ENDFORM. "F4_FOR_VARIANT
*& Form PAI_OF_SELECTION_SCREEN
text
FORM PAI_OF_SELECTION_SCREEN.
IF NOT P_VARI IS INITIAL.
MOVE G_VARIANT TO GX_VARIANT.
MOVE P_VARI TO GX_VARIANT-VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT.
G_VARIANT = GX_VARIANT.
ELSE.
PERFORM VARIANT_INIT.
ENDIF.
ENDFORM. " PAI_OF_SELECTION_SCREEN
*& Form VARIANT_INIT
text
--> p1 text
<-- p2 text
FORM VARIANT_INIT.
CLEAR G_VARIANT.
G_VARIANT-REPORT = GT_REPID.
ENDFORM. " VARIANT_INIT
*& Form GET_OPENING_STOCK
text
FORM GET_OPENING_STOCK.
SELECT SUM( MZUBB ) SUM( MAGBB ) INTO (V_STOCK, V_STOCK1)
FROM S031 WHERE MATNR = ITAB-MATNR AND
WERKS = ITAB-WERKS AND
SPMON LT V_MONTH1 AND LGORT = ITAB-LGORT.
OSTOCK = V_STOCK1 - V_STOCK.
IF OSTOCK < 0.
OSTOCK = OSTOCK * -1.
ENDIF.
ENDFORM. " GET_OPENING_STOCK
*& Form check
text
FORM CHECK.
AUTHORITY-CHECK OBJECT 'M_IS_MATNR'
ID 'ACTVT' DUMMY
ID 'MATNR' FIELD MATNR-LOW.
IF SY-SUBRC <> 0.
MESSAGE E016(Z1) WITH MATNR-LOW.
ENDIF.
ENDFORM. "CHECK_AUTHORIZATION
*& Form EVENTTAB_BUILD
text
-->P_GT_EVENTS[] text
*FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 1
IMPORTING
ET_EVENTS = RT_EVENTS.
READ TABLE RT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GT_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO RT_EVENTS.
ENDIF.
*ENDFORM. " EVENTTAB_BUILD
FORM TOP_OF_PAGE
*FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
*ENDFORM. "TOP_OF_PAGE
*& Form COMMENT_BUILD
text
-->P_GT_LIST_TOP_OF_PAGE[] text
FORM COMMENT_BUILD USING LT_TOP_OF_PAGE TYPE
SLIS_T_LISTHEADER.
DATA: LS_LINE TYPE SLIS_LISTHEADER.
DATA: LV_PAGE_STRING(11),
LV_PAGE_NO(3).
PAGNO = SY-PAGNO.
DATA: PAGNO(5) TYPE C.
CLEAR
LS_LINE.
REFRESH LT_TOP_OF_PAGE.
CLEAR
LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = 'Page Number'.
PAGNO = SY-PAGNO.
IF
PAGNO = 0.
PAGNO = 1.
ENDIF.
SHIFT PAGNO LEFT DELETING LEADING SPACE.
LS_LINE-INFO = PAGNO.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = TEXT-001.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
SELECT SINGLE * FROM T001W WHERE
WERKS IN WERKS.
CONCATENATE 'Name Of The Plant ' '-' T001W-NAME1 INTO
TXT SEPARATED BY SPACE.
LS_LINE-INFO = TXT.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
CLEAR:TXT, LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = TEXT-002.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
CLEAR LS_LINE.
IF WERKS-HIGH EQ SPACE.
CONCATENATE 'Plant : ' WERKS-LOW INTO TXT.
ELSE.
CONCATENATE 'FROM PLANT : ' WERKS-LOW 'TO PLANT : ' WERKS-HIGH INTO TXT SEPARATED BY SPACE.
ENDIF.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = TXT.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
IF BUDAT-HIGH EQ SPACE.
BUDAT-HIGH = BUDAT-LOW.
ENDIF.
CONCATENATE 'Date : From ' BUDAT-LOW6(2) '-' BUDAT-LOW4(2) '-'
BUDAT-LOW0(4) 'to' BUDAT-HIGH6(2) '-'
BUDAT-HIGH4(2) '-' BUDAT-HIGH0(4) INTO
TXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
LS_LINE-INFO = TXT.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
ENDFORM. "COMMENT_BUILD
*& Form LAYOUT_INIT
text
-->P_GT_LAYOUT text
FORM LAYOUT_INIT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
RS_LAYOUT-DETAIL_POPUP = 'X'.
RS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM. " LAYOUT_INIT
*& Form BALANCE
text
--> p1 text
<-- p2 text
FORM BALANCE.
IF INT_DATA-SHKZG = 'S'.
MENGE_RE = INT_DATA-MENGE_O + INT_DATA-MENGE.
INT_DATA-MENGE_BAL = MENGE_RE.
INT_DATA-MENGE_RE = INT_DATA-MENGE.
ELSEIF INT_DATA-SHKZG = 'H'.
MENGE_RE = MENGE_RE - INT_DATA-MENGE.
INT_DATA-MENGE_BAL = MENGE_RE.
INT_DATA-MENGE_IS = INT_DATA-MENGE.
ENDIF.
ENDFORM. " BALANCE
Thanks & Regards,
Sreedhar.Hi,
try like this.........
get v_linct from system varaible sy-linct
describe table t_output lines lv_lines - Where
t_output is ur final internal table which is displayed
v_pagct = ( lv_lines div v_linct ) + 3.
write: 'PAGE NO:' , sy-pagno ,'/', v_pagct.
Madhavi -
How can I create more than one main window in a page of SAP SCRIPT?
How can I create more than one main window in a page of SAP SCRIPT? If anybody helps me I will be obliged.
Regards,
SubhasishHi Ganguly,
It is possible to have more than one main window in a same page.
You create a main window and simply you copy and past it in the same page.. it will create first main window name as MAIN and other main windows as MAIN01,MAIN02.... up to MAIN99.
Contets flow from MAIN , MAIN01, MAIN02.......................MAIN99. contents after filling the current window it flows to next window(by default, you skip as well with some keyword not sure could be NEW-WINDOW)
you want print the main window data twice? or you want to create two main window in the same page ?
1. give two copies in the no of copies in the output type screen ( Which pop up is coming after excute the program ).
2. create two page with the same script form.
3. you can write the coding inside the program to print twice the same page.
Hope this information use full to you.. -
How to Avoid blank page in SAP Script
I am working on a Script. My Script prints a check.
This script is a copy of a std script.
It has 3 pages - First Next Last
My First page has all the required data.
My second page is empty with out any values.
I am getting the blank page as Page 2 when executing. How can we avoid it ?
SenthilHi Senthil,
Please see the below points:
1. Please check what have you defined as the NEXT PAGE for your first page. If so change it and make the first page itself as the next page.
2. Check your main Window, may be there is blank line at the last of the main window, so check that abd remove that,so you won't get the blank page
Please see the link which is similar to your problem:
Re: How to remove blank page in sap script
May it helps you.
Regards.
Deepak Sharma. -
Need to print some text only in last page in SAP script
Moved to correct forum by Moderator. General wasn't right either.
Hi All.
I need to print "Remarks" only in last page of sap script.
Can anyone please help me on this.
Thanks
Senthil kumar V.
Edited by: Matt on Nov 21, 2008 7:38 AMHi,
you have 4 possibilities.2 at non main window, 2 at main window.
at non main window.
1. /: IF &PAGE(C)& = &SAPSCRIPT-FORMPAGES(C)&
remarks
remarks
remarks
/: ENDIF
2, /: if &NEXTPAGE& ='0'.
remarks
remarks
remarks
/: ENDIF
at main window
3. Add the remarks at the last item of the main which is printed
4. add a new item to your main (/E)
put your remarks in it.
Change your program in such a way this item will print as last one.
like
/E REMARKS
remarks
remarks
remarks
and in sapscript program add logic at the end.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'REMARKS'
EXCEPTIONS
element = 1
window = 2.
I am sure this will do. Make a choice.
Gr., Frank -
Printing LAST page in SAP script on the back side.
Hi ,
I have a problem with the printing of the LAST page on the reverse side of the form, when done with a vendor.
At a time we print many vendors together.
So, when done with printing of a vendor it needs to print his address on last page, reverse side(address)
Next will be followed by another vendor details.
I cannot give 'D' for the first page because it would fail if the form flows more than 2 pages.
is there any way of triggering the LAST page in SAP Script when it done with printing of one vendor.
any help would be highly appreciated.
regards.Hi ,
In Script PO i have to print 'Terms and Conditions' text only on the back side of last page of the PO.
Presently script contains THREE pages ( FIRST, NEXT, TERMS).
FIRST with attributes :
next page as NEXT , Print mode T.
NEXT with attributes :
next page as NEXT and print mode T
TERMS with attributes :
next page as ' '.
I Created 'TERMS AND CONDITION' window.For TERMS page i selected 'TERMS AND CONDITION' window only.
So page window of 'TERMS' is 'TERMS AND CONDITION' and i included standard text in 'TERMS AND CONDITION' window.
If PO contains 9 pages( that means MAIN WINDOW data flows up to 9th page with footer also ).
So i have to print standard text(Terms and conditions) back side of 9th page only not on all pages.
So total PO contians 9 pages with 10 prints.
Please help to solve the issue
Thanks and Regards
Venkata swamy -
Urgent - Not able to Print back page for Last Page in SAP Script.
Hello All,
I need to Print back page in SAP Script, I am able to do it by setting print mode as D, but now the problem is, it does not print back page for last page.
For eg. if there are 3 pages it prints back page for first two. If there is only one page then it does not print back page.
Please Help.
Thanks.hi,
Yes, we can print logo as water mark in scripts
Just do as like this....
Upload your logo via SE78.
- Select 'Import' button from application toolbar of SE78, and perform upload.
and write this code in scripts
BITMAP 'COMPANY_LOGO' OBJECT GRAPHICS ID BMAP TYPE BCOL
regards
Sankar -
Hi All,
I have a requirement of printing terms and conditions of PO on a new page of SAP Script.
I created a new page as LAST and called it through NEW-PAGE command from MAIN window.
On my LAST page I created 1 window, which calls Standard Text.
Issue I am facing is in spite of having data of more than 1 pages , print preview is displaying only 1 page of Terms and Condtions.
Can you please let me know what am I missing?Hi Shradda,
you also can just add an additional processing.
You know, something like
/: PERFORM 'YOUR_ROUTINE' IN PROGRAM 'YOUR_PROG'
/: ENDFORM
See here: https://help.sap.com/saphelp_crm700_ehp02/helpdata/en/4e/34f87463de02c2e10000000a15822b/content.htm?frameset=/de/4e/3663…
But in my opinion it is the best to make a copy of the original because I'm pretty sure, there will be more additional requierements in the end and just to enhance or to use this technique is very hard to understand after the second implemented spot
Can you share your stuff how you tried it?
I mean, calling two sites in a row should definitv work fine.
/: NEW-PAGE 'LAST1'
/: NEW-PAGE 'LAST2'
I tried it on my own and it works perfectly fine...
Did you gave your last-page a followpage while testing the first suggestion? That is of course a must-have.
~Florian -
Creation of New Page in SAP Script
Hi Experts,
Please advice when will a new page trigger in SAP Script :
As per my requirement I need to create a new page for an existing layout and make changes to the second page alone...
but this page should be triggered only for a specific condition. Is it possible to trigger second page when it satisfies certain conditon?
I have searched SDN regarding the same but most of them have recommended to use NEW-PAGE...but as per my understanding NEW-PAGE is used when certain data needs to be printed on the next page ( not on the new page ).
Thanks
Karthik.ROk friend,
Try using the conditions in your driver program using 'CONTROL_FORM' function module. or using some other condition in it.
You can also give conditions in text editors and you can trigger the pages.
i think these links will help you in solving your solution just check these Link: [new page based on condition in sap script|new page based on condition in sap script; this is just an hint from this you can develop the idea.
Link: [Breaks in Smartforms|LAST PAGE FOR SAP SCRIPT;.
Also there are other few related links in SDN which will help you.
I think this must solve your issue if you still face any queries please revert back to me i will help you.
Thanks,
Sri Hari -
Repeat group header on every page before group footer as group spans across
I have a group which spans across multiple pages.In group there are two subreports in Group footer.I have set all the required parameters to repeat group header on every page in group expert,but not getting desired results,please help....
I have following structure in my report.
I have two group headers at the top,first one contains name of the site & site number,second header contains Site-Admin as heading,below which i have kept details section of report which displays name of administrator which repeats details section in case there are more than one adminstrators.
Below this i have two group footers which individually contain each of the two sub-reports.
As per data,these individual subreport may or may not begin at the beginning of the new page every
time,therefore fake group header put at the beginning of these sub-reports may come in middle of the page sometime,so thet cant be done.
Thank you,please reply if you have another solution....
Maybe you are looking for
-
Spry Photo Gallery not viewing
am new to web design and followed this tutorial to make a Spry Photo Gallery: http://www.adobe.com/devnet/dreamweaver/articles/spry_photo_album.html I am using Dreamweaver CS3 and when I preview my files, everything is perfect and in place. When I up
-
Open a folder in the network when path is clicked
hi , i do have a alv display in which i am showing a path like this ABAP11\DEV\DFS. My user wants when he clicks on this the will be opened in the windows explorer like we open it in the run. when i am attaching this to hyperlink and pas
-
Detail of legacy license and future price increases
Legacy Licence: I currently have a licenced retail copy of Photoshop CS6 that would allow me a reduce rate for 12 months membership of Creative Cloud. If I took up this offer and in 12 months time decided not to renew Creative Cloud membership which
-
Project Code in J.E.
Dear All, Please let me know even when the Project Code is mentioned in the Marketing document, why is this Code not updated in the J.E.???? Because of this when the Ledger of that Account is viewed as per Project Code it does not show any implicatio
-
Oracle Golden Gate Manager not starting
Trying to configure Oracle Golden Gate between oracle 10g and Oracle 9i Golden gate Manager is not starting Error in MGR.rpt Source Context : SourceModule : [mgr.main] SourceID : [home/ecloud/workspace/Build_FBO_OpenSys_r11.1.1.0.0_078_[34085]/perfor