MSDS Report ( header table suppressed )
Hi
We have define the 5 columns and 2 row table.
The table header is created in a separate table in the layout and another table for values.
Our requirement is like if there is no value in the value table the Text should not be print.
e.g. Tables looks like
Text : Xxx Yyy Zzz
Value: cz 10 7%
if Yyy does not have any values then it should print only
Text : Xxx Zzz
Value: cz 7%
we already used HELP.SAP.COM suggestion but that not works.
Please provide your suggestions.
Thanks
Hi Sunil,
Try to exercise with suppression of a slected coulmn (say d6 as in windows excel) by typing 13CNG001 in upper and 13ENG001 lower rows of the same column, followed by suppressing the text with symbol for quick info text move or right. check out. i am not sure, but hope helpful.
with regards,
mahesh.
Similar Messages
-
Reports-Header Section Suppress
Hi,
I have one frame in header section and it is having the variable in vertical and horizondal valasticity property,
While running the report there is no data in that header section, I want to suppress that first page
Most Urgent
Thanx for responseTry using
blankpages=no
in command line
(You need to go to latest patchset first, because there was a bug that blankpages=no would not work in earlier versions) -
Report header is missng while printing or spooling
Hi All,
I have a problem in print a report.its
After getting selection screen of the report ,If i click a print button (it's for execute and print)
the header details are missing in spool ( does not print selection fields of the report are missing in spool).
If i execute the report and got the output ,then i click the print button it's execute properly means in spool i am getting all the output properly ,header details also printed. means selection screen fields means what i entered in selection screen is printing.Its a AVL report.While debugging i am not getting solution.i have investigated in menu painter also.
but i am not getting proper idea to fix the bug.
i am sending the code also.please let me know ASAP
code:
REPORT ZMXXR048 LINE-SIZE 1023 "255 deleted AW2150 GLDK9AAYU9
LINE-COUNT 65
MESSAGE-ID zm
NO STANDARD PAGE HEADING.
*eject
TABLES declaration.
TABLES:ekko, "Purchasing Document: Header
ekpo, "Purchasing Document: Item
a016, "Contract Item AMT25JAN05
a019, "Contract Header AMT25JAN05
t024, "Purchasing Groups
t024e, "Purchasing Organizations
t161, "Purchasing Document Types
t001w, "Plants/branches
lfa1, "Vendor Master (General Section) AMT25JAN05
eket, "Scheduling Agreement Schedule Lines
ekbe, "Purchasing Document: History AMT25JAN05
ekab, "Release Documentation AMT25JAN05
zbsart_doc."Purchasing documents custom structure "GA01
ekkn. "Account Assignment in Purchasing Document "GA19062003
Comment AMT25JAN05
*eject
TYPE-POOLS definition.
TYPE-POOLS slis. "KAK01
*eject
CONSTANTS declaration.
CONSTANTS:
c_t(1) TYPE c VALUE 'T', "AMT25JAN05
c_l(1) TYPE c VALUE 'L',
c_m(1) TYPE c VALUE '4', "AMT25JAN05
c_y(1) TYPE c VALUE 'Y', "AMT25JAN05
c_i(1) TYPE c VALUE 'I',
c_ne(2) TYPE c VALUE 'NE',
c_eq(2) TYPE c VALUE 'EQ', "AMT25JAN05
c_lp(2) TYPE c VALUE 'LP',
c_nb(2) TYPE c VALUE 'NB',
c_ec(2) TYPE c VALUE 'EC',
c_lpa(3) TYPE c VALUE 'LPA',
c_zlp(3) TYPE c VALUE 'ZLP',
c_znba(4) TYPE c VALUE 'ZNBA',
c_mk(2) TYPE c VALUE 'MK', "AMT25JAN05
c_wk(2) TYPE c VALUE 'WK', "AMT25JAN05
c_doqot(1) TYPE c VALUE '"', "AMT25JAN05
c_totals(6) TYPE c VALUE 'TOTALS',
c_x(1) TYPE c VALUE 'X',
c_k(1) TYPE c VALUE 'K', "AMT25JAN05
c_a(1) TYPE c VALUE 'A',
C_S(1) TYPE C VALUE 'S',"insert AW2150 GLDK9AAYU9
c_55(2) TYPE c VALUE '55',
c_56(2) TYPE c VALUE '56',
c_44(2) TYPE c VALUE '44', "AMT25JAN05
c_45(2) TYPE c VALUE '45',
c_1(1) TYPE c VALUE '1',
c_2(1) TYPE c VALUE '2',
c_h(1) TYPE c VALUE 'H',
c_(1) TYPE c VALUE '', "GA18062003.
c_n(1) TYPE c VALUE 'N', "SRI24062003
c_o(1) TYPE c VALUE 'O', "SRI24062003
c_maxdays TYPE p VALUE '93', "GA29072003
c_wk1(10) type c VALUE 'WK1'. "NAR10NOV06
*Begin of Addition by AMT25JAN05
CONSTANTS :
c_3 TYPE i VALUE 3 ,
c_4 TYPE i VALUE 4 ,
c_5 TYPE i VALUE 5 ,
c_8 TYPE i VALUE 8 ,
c_10 TYPE i VALUE 10 ,
c_11 TYPE i VALUE 11 ,
c_12 TYPE i VALUE 12 ,
c_15 TYPE i VALUE 15 ,
c_18 TYPE i VALUE 18 ,
c_20 TYPE i VALUE 20 ,
c_23 TYPE i VALUE 23 , "TUL02022005 "KVI04Feb05
c_40 TYPE i VALUE 40 ,
c_all(4) TYPE c VALUE '&ALL' ,
c_sa(3) TYPE c VALUE '&SA' ,
c_bs(3) TYPE c VALUE '&BS' ,
c_sum(4) TYPE c VALUE '&SUM' ,
c_eb3(4) TYPE c VALUE '&EB3' ,
c_xpa(4) TYPE c VALUE '&XPA' ,
c_omp(4) TYPE c VALUE '&OMP' ,
c_crb(4) TYPE c VALUE '&CRB' ,
c_cre(4) TYPE c VALUE '&CRE' ,
c_ave(4) TYPE c VALUE '&AVE' ,
c_pc10(4) TYPE c VALUE 'PC10' ,
c_coltab(6) TYPE c VALUE 'COLTAB' ,
c_excel(5) TYPE c VALUE 'EXCEL' ,
c_ic1(4) TYPE c VALUE '&IC1' ,
c_dload(5) TYPE c VALUE 'DLOAD' ,
c_refrs(5) TYPE c VALUE 'REFRS' ,
c_waers(5) TYPE c VALUE 'WAERS' ,
c_bprme(5) TYPE c VALUE 'BPRME' ,
c_ekbe(4) TYPE c VALUE 'EKBE' ,
c_meins2(6) TYPE c VALUE 'MEINS2' ,
c_meins3(6) TYPE c VALUE 'MEINS3' ,
c_ekkn(4) TYPE c VALUE 'EKKN' ,
c_ekpo(4) TYPE c VALUE 'EKPO' ,
c_ekko(4) TYPE c VALUE 'EKKO' ,
c_lfa1(4) TYPE c VALUE 'LFA1' ,
c_meins(5) TYPE c VALUE 'MEINS' ,
c_eket(4) TYPE c VALUE 'EKET' ,
c_me33l(5) TYPE c VALUE 'ME33L' ,
c_me23(4) TYPE c VALUE 'ME23' ,
c_bes(3) TYPE c VALUE 'BES' ,
c_bedat(11) TYPE c VALUE 'S_BEDAT-LOW',
c_pur(15) TYPE c VALUE 'PURCHASING DOC.',
c_item(4) TYPE c VALUE 'ITEM' ,
c_doc(8) TYPE c VALUE 'DOC.DATE' ,
c_vendor(6) TYPE c VALUE 'VENDOR' ,
c_vname(11) TYPE c VALUE 'VENDOR NAME' ,
c_plant(5) TYPE c VALUE 'PLANT' ,
c_pdesc(17) TYPE c VALUE 'PLANT DESCRIPTION',
c_sloc(4) TYPE c VALUE 'SLOC' ,
c_pgr(3) TYPE c VALUE 'PGR' ,
c_porg(4) TYPE c VALUE 'PORG' ,
c_mat(8) TYPE c VALUE 'MATERIAL' ,
c_standard(8) TYPE c VALUE 'STANDARD' ,
c_matdesc(20) TYPE c VALUE 'MATERIAL DESCRIPTION',
c_deldate(13) TYPE c VALUE 'DELIVERY DATE' ,
c_qty(13) TYPE c VALUE 'SCHEDULED QTY' ,
c_quom(4) TYPE c VALUE 'OUOM' ,
c_net(9) TYPE c VALUE 'NET PRICE' ,
c_curr(4) TYPE c VALUE 'CURR' ,
c_per(3) TYPE c VALUE 'PER' ,
c_opuom(5) TYPE c VALUE 'OPUOM' ,
c_grqty(6) TYPE c VALUE 'GR QTY' ,
c_gruom(6) TYPE c VALUE 'GR UOM' ,
c_irqty(6) TYPE c VALUE 'IR QTY' ,
c_iruom(6) TYPE c VALUE 'IR UOM' ,
c_trnum(15) TYPE c VALUE 'TRACKING NUMBER' ,
c_rec(12) TYPE c VALUE 'RECEIVER-BBP' ,
c_tcont(18) TYPE c VALUE 'T_CONDITIONS-EBELN' .
*End of Addition by AMT25JAN05
*BEGIN INSERT BB1097 - add a constant for the vendor mat field
CONSTANTS C_VENDMAT(15) TYPE C VALUE 'VENDOR MATERIAL'.
*END INSERT BB1097
*eject
DATA Work fields definition.
DATA : w_repid LIKE sy-repid,
w_color TYPE i,
w_info LIKE sy-lisel, "AMT25JAN05
w_lifnr LIKE eina-lifnr, "AMT25JAN05
w_matnr LIKE eina-matnr, "AMT25JAN05
w_werks LIKE marc-werks, "AMT25JAN05
w_tabkey LIKE cdpos-tabkey, "AMT25JAN05
w_objectid LIKE konp-knumh, "AMT25JAN05
w_len TYPE i , "AMT25JAN05
w_field LIKE konp-kopos, "AMT25JAN05
w_eindt LIKE eket-eindt, "AMT25JAN05
w_ebeln LIKE ekko-ebeln, "ujo1jul
zsort(6) TYPE c, "KAK01
w_fldname(20) TYPE c, "GA16062003.
w_titel LIKE spop-titel, "GA25062003.
w_text1 LIKE spop-textline1, "GA25062003.
w_text2 LIKE spop-textline2, "GA25062003.
W_FLAG(1) TYPE C, "KVI04Feb05
Start of GLDK9A8WWS (AS3848)
Defined variable for line size.
w_linsz LIKE sy-linsz.
End of GLDK9A8WWS (AS3848)
DATA: date_diff LIKE ekko-aedat.
*BEGIN OF SRI26062003
*DATA: w_s1 LIKE ekbe-menge, AMT25JAN05
w_s2 LIKE ekbe-bamng, AMT25JAN05
w_s3 LIKE ekbe-bpmng, AMT25JAN05
w_s4 LIKE ekpo-netpr. AMT25JAN05
w_s5 LIKE ekkn-wempf. AMT25JAN05
w_s6 LIKE ekpo-webaz, AMT25JAN05
*END OF SRI26062003
*eject
DATA Structure definition.
DATA: e_coltab TYPE slis_specialcol_alv.
*eject
DATA Internal table definition with INCLUDE STRUCTURE
*Begin of comment by AMT25JAN05
*DATA: BEGIN OF ibdcdata OCCURS 0.
INCLUDE STRUCTURE bdcdata.
*DATA: END OF ibdcdata.
*End of comment by AMT25JAN05
*eject
DATA Other internal table definition.
DATA: BEGIN OF t_documents OCCURS 0, "Main initial internal table
ekgrp LIKE ekko-ekgrp,
ekorg LIKE ekko-ekorg,
eknam LIKE t024-eknam,
ebeln LIKE ekko-ebeln,
ebelp LIKE ekpo-ebelp,
lgort LIKE ekpo-lgort,
kschl LIKE a016-kschl,
datbi LIKE a016-datbi,
datab LIKE a016-datab,
LOEKZ LIKE EKPO-LOEKZ, "insert AW2150 GLDK9AAYU9
infnr LIKE ekpo-infnr,
pstyp LIKE ekpo-pstyp,
konnr LIKE ekpo-konnr,
ematn LIKE ekpo-ematn,
txz01 LIKE ekpo-txz01,
werks LIKE ekpo-werks,
aedat LIKE ekpo-aedat,
epstp LIKE rm06e-epstp,
lifnr LIKE ekko-lifnr,
waers LIKE ekko-waers, "SRI26062003
name1 LIKE lfa1-name1,
name2 LIKE t001w-name1,
ktmng LIKE ekpo-ktmng,
meins LIKE ekpo-meins,
meins2 LIKE ekpo-meins, "GA23062003
meins3 LIKE ekpo-meins, "GA23062003
bednr LIKE ekpo-bednr,
loevm_ko LIKE konp-loevm_ko,
bsart LIKE ekko-bsart,
eindt LIKE eket-eindt, "SBH01
netpr LIKE ekpo-netpr, "SBh01
peinh LIKE ekpo-peinh, "GA01
bprme LIKE ekpo-bprme, "GA01
menge LIKE ekpo-menge,
menge2 like ekbe-menge, "GA23062003.
bamng LIKE ekbe-bamng, "GA23062003.
bpmng LIKE ekbe-bpmng,
vgabe LIKE ekbe-vgabe, "GA01
webaz LIKE ekpo-webaz,
wempf LIKE ekkn-wempf, "GA19062003.
flgdel(1) TYPE c, "ujo9jul
Start of GLDK9A8WWS (AS3848)
Added fields WEPOS (GR indicator), REPOS (IR indicator) and WEBRE (GR-
based IV indicator).
wepos LIKE ekpo-wepos, "GR indicator
repos LIKE ekpo-repos, "IR indicator
webre LIKE ekpo-webre, "GR-based IV indicator
End of GLDK9A8WWS (AS3848)
ELIKZ LIKE ekpo-ELIKZ, "Delivery "TUL02022005
EREKZ LIKE EKPO-EREKZ, "Invoice AW2150 GLDK9AAYU9
*BEGIN INSERT BB1097 - add column for the vendor mat field. this field
will hold the value of the vendor material #
IDNLF LIKE EKPO-IDNLF,
*END INSERT BB1097
END OF t_documents.
Added begin ujo9jul
*DATA: t_documents_tmp LIKE t_documents OCCURS 0 WITH HEADER LINE.
*Comment by AMT25JAN05
*eject
DATA Other internal table definition.
*Begin of Comment by AMT25JAN05
*DATA: BEGIN OF t_ekko OCCURS 0,
ebeln LIKE ekko-ebeln,
bsart LIKE ekko-bsart,
loekz LIKE ekko-loekz,
aedat LIKE ekko-aedat,
lifnr LIKE ekko-lifnr,
ekorg LIKE ekko-ekorg,
ekgrp LIKE ekko-ekgrp,
waers LIKE ekko-waers,
name1 LIKE lfa1-name1,
END OF t_ekko.
*End of Comment by AMT25JAN05
Added end ujo9jul
*Begin of SRI26062003
DATA:BEGIN OF t_t024 OCCURS 0 ,
ekgrp LIKE t024-ekgrp,
eknam LIKE t024-eknam,
END OF t_t024.
DATA:BEGIN OF t_t001w OCCURS 0 ,
werks LIKE t001w-werks,
name1 LIKE t001w-name1,
END OF t_t001w.
*End of SRI26062003
DATA: BEGIN OF t_conditions OCCURS 0, "Main final internal table
ebeln LIKE ekpo-ebeln,
ekgrp LIKE ekko-ekgrp,
ekorg LIKE ekko-ekorg,
waers LIKE ekko-waers, "SRI26062003
eknam LIKE t024-eknam,
ebelp LIKE ekpo-ebelp,
lgort LIKE ekpo-lgort,
kschl LIKE a016-kschl,
datbi LIKE a016-datbi,
datab LIKE a016-datab,
infnr LIKE ekpo-infnr,
pstyp LIKE ekpo-pstyp,
konnr LIKE ekpo-konnr,
ematn LIKE ekpo-ematn,
txz01 LIKE ekpo-txz01,
werks LIKE ekpo-werks,
aedat LIKE ekpo-aedat,
epstp LIKE rm06e-epstp,
lifnr LIKE ekko-lifnr,
name1 LIKE lfa1-name1,
name2 LIKE t001w-name1,
ktmng LIKE ekpo-ktmng,
meins LIKE ekpo-meins,
meins2 LIKE ekpo-meins, "GA23062003.
meins3 LIKE ekpo-meins, "GA23062003.
bednr LIKE ekpo-bednr,
loevm_ko LIKE konp-loevm_ko,
bsart LIKE ekko-bsart,
eindt LIKE eket-eindt,
netpr LIKE ekpo-netpr,
peinh LIKE ekpo-peinh,
bprme LIKE ekpo-bprme,
menge LIKE ekpo-menge,
menge2 like ekbe-menge, "GA23062003.
bamng LIKE ekbe-bamng, "GA23062003.
bpmng LIKE ekbe-bpmng,
vgabe LIKE ekbe-vgabe, "GA01
webaz LIKE ekpo-webaz,
wempf LIKE ekkn-wempf, "GA19062003.
AGING TYPE I, "insert AW2150 GLDK9AAYU9
ELIKZ LIKE ekpo-ELIKZ, "TUL02022005
EREKZ LIKE EKPO-EREKZ, "insert AW2150 GLDK9AAYU9
coltab TYPE slis_t_specialcol_alv, "SRI24062003
*BEGIN INSERT BB1097 - add column for the vendor mat field. this field
will hold the value of the vendor material #
IDNLF LIKE EKPO-IDNLF,
*END INSERT BB1097
END OF t_conditions.
Internal Table for the Purchasing Group name
*Begin of Comment by AMT25JAN05
*DATA: BEGIN OF t_purchgr OCCURS 0,
name2 LIKE t024-eknam,
END OF t_purchgr.
*End of Comment by AMT25JAN05
internal table for the plant name
*Begin of Comment by AMT25JAN05
*DATA: BEGIN OF t_plant OCCURS 0,
name1 LIKE t001w-name1,
END OF t_plant.
*End of Comment by AMT25JAN05
*Begin of Comment by AW2150
Internal Table for the Vendor Number and Vendor Name
*DATA: BEGIN OF t_lfa1 OCCURS 0,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
END OF t_lfa1.
*End of Comment by AW2150
*Start of GA19062003
Internal table for the Good Recipient in case of BBP
DATA: BEGIN OF t_ekkn OCCURS 0,
ebeln LIKE ekkn-ebeln, "SRI26062003
ebelp LIKE ekkn-ebelp, "SRI26062003
wempf LIKE ekkn-wempf,
END OF t_ekkn.
*End of GA19062003
Internal Table for EXCEL DOWNLOADING
DATA: BEGIN OF t_conditions_exe OCCURS 0,
ebeln(15) TYPE c,
ebelp(11) TYPE c,
aedat(11) TYPE c,
lifnr(16) TYPE c,
name1(35) TYPE c,
werks(5) TYPE c,
name2(30) TYPE c, "GA16062003.
lgort(4) TYPE c,
ekgrp(3) TYPE c,
ekorg(4) TYPE c,
" eknam(30) type c, "GA16062003.
ematn(20) TYPE c,
txz01(40) TYPE c,
*BEGIN INSERT BB1097 - this field will hold the value of the vendor
material #
IDNLF(35) TYPE C,
*END INSERT BB1097
eindt(13) TYPE c,
menge(13) TYPE c,
meins(4) TYPE c,
netpr(11) TYPE c,
waers(5) TYPE c, "ujo7jul
peinh(4) TYPE c,
bprme(4) TYPE c,
menge2(11) type c,
bamng(11) TYPE c,
meins2(6) TYPE c,
bpmng(11) TYPE c,
meins3(6) TYPE c,
bednr(21) TYPE c,
wempf(12) TYPE c, "GA19062003.
AGING(7) TYPE C, "insert AW2150 GLDK9AAYU9
ELIKZ(23) TYPE c, "TUL02022005
EREKZ(23) TYPE C, "insert AW2150 GLDK9AAYU9
END OF t_conditions_exe.
*eject
*INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED QUANTITY
DATA: BEGIN OF t_ekbe OCCURS 0,
ebelp LIKE ekbe-ebelp,
ebeln LIKE ekbe-ebeln,
vgabe LIKE ekbe-vgabe,
BELNR LIKE EKBE-BELNR,
*Begin Of Change BH9511 20-Aug-07
menge LIKE ekbe-menge,
menge(16) TYPE P DECIMALS 3,
*End Of Change BH9511 20-Aug-07
shkzg LIKE ekbe-shkzg,
END OF t_ekbe.
*INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED UoM
DATA: BEGIN OF t_ekbe_temp OCCURS 0,
ebelp LIKE ekbe-ebelp,
ebeln LIKE ekbe-ebeln,
vgabe LIKE ekbe-vgabe,
menge LIKE ekbe-menge,
END OF t_ekbe_temp.
Added begin ujo7jul
DATA: BEGIN OF t_totals OCCURS 0,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
bamng LIKE ekbe-bamng,
meins2 LIKE ekpo-meins,
bpmng LIKE ekbe-bpmng,
meins3 LIKE ekpo-meins,
END OF t_totals.
DATA: BEGIN OF t_tot_netpr OCCURS 0,
netpr LIKE ekpo-netpr,
waers LIKE ekko-waers,
END OF t_tot_netpr.
DATA: BEGIN OF t_tot_peinh OCCURS 0,
peinh LIKE ekpo-peinh,
bprme LIKE ekpo-bprme,
END OF t_tot_peinh.
*Begin of Comment by AW2150
*DATA: BEGIN OF t_eket OCCURS 0,
ebeln LIKE eket-ebeln,
ebelp LIKE eket-ebelp,
eindt LIKE eket-eindt,
END OF t_eket.
Added end ujo7jul
*End of Comment by AW2150
BEGIN OF KAK01
FOR ALV Related Details.
DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,
alv_layout TYPE slis_layout_alv,
alv_exclude TYPE slis_t_extab,
alv_sort TYPE slis_t_sortinfo_alv,
g_variant LIKE disvariant,
gx_variant LIKE disvariant,
gt_event_exit TYPE slis_t_event_exit, "GA23062003.
g_save(1) TYPE c, "GA23062003.
g_exit(1) TYPE c, "AMT25JAN05
lt_dynpread LIKE dynpread OCCURS 1 WITH HEADER LINE,"AMT25JAN05
g_repid LIKE d020s-prog,
END OF KAK01
Start of GLDK9A8WWS (AS3848)
Added the definition of structure for the events that will be used
in the logic for generating the standard report header for the report.
v_events TYPE slis_t_event.
End of GLDK9A8WWS (AS3848)
*eject
PARAMETERS and SELECT-OPTIONS definition
Start of GLDK9A8WWS (AS3848)
Changed the text-100 in the list of text elements. It was changed
from OPEN PURCHASE DOCUMENTS LIST DISPLAY to Open Purchaser Order
Report.
SELECTION-SCREEN: BEGIN OF BLOCK three WITH FRAME TITLE text-100.
End of GLDK9A8WWS (AS3848)
SELECTION-SCREEN: BEGIN OF BLOCK one WITH FRAME TITLE text-060.
SELECT-OPTIONS : s_ekorg FOR ekko-ekorg OBLIGATORY MEMORY ID eko
NO INTERVALS,
s_lifnr FOR ekko-lifnr,
s_werks FOR ekpo-werks MEMORY ID wrk,
s_ekgrp FOR ekko-ekgrp MEMORY ID ekg
NO INTERVALS,
s_ebeln FOR ekko-ebeln MEMORY ID bes,
s_ebelp FOR ekpo-ebelp MEMORY ID bsp,
s_bsart FOR zbsart_doc-bsart MEMORY ID bsa,"GA01
s_pstyp FOR ekpo-pstyp,
s_loekz FOR ekko-loekz,
s_knttp FOR ekpo-knttp MEMORY ID knt,
s_matnr FOR ekpo-matnr MEMORY ID mat,
s_matkl FOR ekpo-matkl MEMORY ID mkl,
start of modifications AW2150 GLDK9AAYU9
s_bedat FOR ekko-bedat OBLIGATORY, "GA29072003
S_BEDAT FOR EKKO-BEDAT,
end of modifications AW2150 GLDK9AAYU9
S_EINDT FOR EKET-EINDT.
PARAMETERS: p_sum AS CHECKBOX, "SRI26062003
start of modification AW2150 GLDK9ABI53
deleted checkbox for manually closed PO
p_pod AS CHECKBOX DEFAULT 'X'."insert AW2150 GLDK9AAYU9
added checkbox for DCI and FI.
P_DCI AS CHECKBOX DEFAULT 'X', "insert AW2150 GLDK9ABI53
P_FI AS CHECKBOX. "insert AW2150 GLDK9ABI53
end of modification AW2150 GLDK9ABI53
SELECTION-SCREEN: END OF BLOCK one .
SELECTION-SCREEN: BEGIN OF BLOCK two WITH FRAME TITLE text-070.
start of insert AW2150 GLDK9ABSZ8
PARAMETERS: P_ALLPO AS CHECKBOX DEFAULT 'X'.
end of insert AW2150 GLDK9ABSZ8
start of insert AW2150 GLDK9AAYU9
this was just moved from the block below. this is not a new
requirement.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT NO-DISPLAY. " ALV Variant
SELECTION-SCREEN COMMENT 47(40) VARNAME FOR FIELD P_VARI.
end of insert AW2150 GLDK9AAYU9
*Start of GA16062003
PARAMETERS: p_qty RADIOBUTTON GROUP qtvl,
p_date RADIOBUTTON GROUP qtvl,
p_date1 RADIOBUTTON GROUP qtvl.
*End of GA16062003
SELECTION-SCREEN: END OF BLOCK two .
start of modification AW2150 GLDK9AAYU9
Start of GLDK9A8WWS (AS3848)
Commented out the following portion of the source code to remove the
field VARIANT under Settings on the report selection screen.
*SELECTION-SCREEN: BEGIN OF BLOCK four WITH FRAME
TITLE text-073. "TUL0202200
*selection-screen: begin of block four with frame title text-1
*Start of GA23062003
*PARAMETERS: p_vari LIKE disvariant-variant NO-DISPLAY. " ALV Variant
*SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.
*Select-Options : S_ELIKZ FOR ekpo-ELIKZ . "TUL0202200
End of modification AW2150 GLDK9AAYU9
Ext. check warning ignored for the comment. AMT25JAN05
*SELECTION-SCREEN: END OF BLOCK four.
End of GLDK9A8WWT (AS3848)
*selection-screen: end of block three.
PARAMETERS p_loggrp(4) TYPE c NO-DISPLAY DEFAULT 'PC10'.
SELECTION-SCREEN: END OF BLOCK three.
*End of GA23062003
*eject
*eject
INITIALIZATION
INITIALIZATION.
*Deletion Indicator
s_loekz-low = c_l.
s_loekz-sign = c_i.
s_loekz-option = c_ne.
APPEND s_loekz.
*start of insert AW2150 GLDK9ABSZ8
IF P_ALLPO EQ C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF P_ALLPO NE C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
*end of insert AW2150 GLDK9ABSZ8
*Start of GA23062003
Settings for display variants
*INITIALIZATION. "GA03122003.
g_repid = sy-repid.
g_save = c_a(1).
CLEAR g_variant.
g_variant-report = g_repid.
g_variant-log_group = p_loggrp.
g_variant-username = sy-uname.
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 EQ 0.
p_vari = gx_variant-variant.
ENDIF.
varname = gx_variant-text.
VALIDATE INITIAL DATA ENTERED BY THE USERS ***************
*Start of GA29072003.
IF NOT s_bedat IS INITIAL.
Start of GLDK9A8WWS (AS3848)
Changed sequence in subroutine name to comply with coding standards
based on the review tool ZZCHK.
PERFORM f0100_check_s_bedat.
End of GLDK9A8WWS (AS3848)
ENDIF.
*End of GA29072003.
*eject
*start of insert AW2150 GLDK9ABSZ8
AT SELECTION-SCREEN OUTPUT.
IF P_ALLPO EQ C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF P_ALLPO NE C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
*end of insert AW2150 GLDK9ABSZ8
*eject
*start of insert by AW2150 GLDK9AAYU9
AT SELECTION SCREEN ON S_EINDT.
AT SELECTION-SCREEN ON S_EINDT.
IF NOT S_EINDT IS INITIAL.
PERFORM F17200_CHECK_S_EINDT.
ENDIF.
*end of insert by AW2150 GLDK9AAYU9
*eject
AT SELECTION SCREEN ON S_EKORG
AT SELECTION-SCREEN ON s_ekorg.
Validate value of purchasing org(s) entered on the selection *
screen by executing subroutine 0100_VALIDATE_PURC_ORG. *
IF NOT s_ekorg IS INITIAL.
PERFORM f0200_validate_purc_org.
ENDIF.
*eject
AT SELECTION SCREEN ON S_EKGRP
AT SELECTION-SCREEN ON s_ekgrp.
Validate value of purchasing group(s) entered on the selection *
screen by executing subroutine 0200_VALIDATE_PURC_GROUP. *
IF NOT s_ekgrp IS INITIAL.
PERFORM f0300_validate_purc_group.
ENDIF.
*eject
AT SELECTION SCREEN ON S_EBELN
AT SELECTION-SCREEN ON s_ebeln.
Validate value of purchase order(s) entered on the selection *
screen by executing subroutine F0310_VALIDATE_PURC_ORDER.
IF NOT s_ebeln IS INITIAL.
PERFORM f0310_validate_purc_order.
ENDIF.
*eject
AT SELECTION SCREEN ON S_WERKS
AT SELECTION-SCREEN ON s_werks.
Validate value of plant(s) entered on the selection *
screen by executing subroutine F0400_VALIDATE_PLANT.
IF NOT s_werks IS INITIAL.
PERFORM f0400_validate_plant.
ENDIF.
*eject
AT SELECTION SCREEN ON S_BSART
AT SELECTION-SCREEN ON s_bsart.
Validate value of Document type(s) entered on the selection *
screen by executing subroutine F0500_VALIDATE_DOC_TYPE.
IF NOT s_bsart IS INITIAL.
PERFORM f0500_validate_doc_type.
ENDIF.
*eject
AT SELECTION SCREEN ON S_PSTYP
AT SELECTION-SCREEN ON s_pstyp.
Validate value of Item Category entered on the selection *
screen by executing subroutine F0600_VALIDATE_ITEM_CATEGORY.
IF NOT s_pstyp IS INITIAL.
PERFORM f0600_validate_item_category.
ENDIF.
*eject
AT SELECTION SCREEN ON S_MATNR
AT SELECTION-SCREEN ON s_matnr.
Validate value of Material Number entered on the selection *
screen by executing subroutine F0700_validate_mat_number
IF NOT s_matnr IS INITIAL.
PERFORM f0700_validate_mat_number.
ENDIF.
*eject
AT SELECTION SCREEN ON S_LIFNR
AT SELECTION-SCREEN ON s_lifnr.
Validate value of Vendor entered on the selection by executing *
subroutine F0800_VALIDATE_VENDOR_NUMBER
IF NOT s_lifnr IS INITIAL.
PERFORM f0800_validate_vendor_number.
ENDIF.
*eject
AT SELECTION SCREEN ON S_MATKL
AT SELECTION-SCREEN ON s_matkl.
Validate value of material group entered on the selection screen *
by executing subroutine F0900_validate_mat_group.
IF NOT s_matkl IS INITIAL.
PERFORM f0900_validate_mat_group.
ENDIF.
*eject
AT SELECTION SCREEN ON S_KNTTP
AT SELECTION-SCREEN ON s_knttp.
Validate the value of account assignment category entered on the *
selection screen by executing subroutine 1000_validate_mat_group. *
IF NOT s_knttp IS INITIAL.
PERFORM f1000_validate_***_category.
ENDIF.
*eject
AT SELECTION SCREEN ON S_EBELP
AT SELECTION-SCREEN ON s_ebelp.
Validate the value of PO line item entered on the *
selection screen by executing subroutine F1100_VALIDATE_PO_ITEM.
IF NOT s_ebelp IS INITIAL.
PERFORM f1100_validate_po_item.
ENDIF.
*eject
AT SELECTION SCREEN ON S_LOEKZ
AT SELECTION-SCREEN ON s_loekz.
Validate the value of deletion indicator enterd on the selection *
selection screen by executing subroutine F1200_VALIDATE_DEL_IND.
IF NOT s_loekz IS INITIAL.
PERFORM f1200_validate_del_ind.
ENDIF.
Start of GLDK9A8WWS (AS3848)
Commented out the following block of code as a result of the removal
of the field VARIANT from the selection screen.
*at selection-screen on value-request for p_vari.
perform 14000_f4_for_variant.
End of GLDK9A8WWS (AS3848)
*Start of deletion AW2150
*eject
Block Added From Here TUL02022005
AT SELECTION SCREEN ON S_ELIKZ
*AT SELECTION-SCREEN ON s_ELIKZ.
Validate the value of Delivery Completed Indicator entered.
IF NOT s_ELIKZ IS INITIAL.
Check the Valid Values.
IF not SPACE in S_ELIKZ
AND not C_X in S_ELIKZ .
MESSAGE e999 WITH
'Invalid Delivery Completed Flag entered'(006).
ENDIF.
ENDIF.
Block Added Till Here TUL02022005
*End of deletion AW2150
*eject
AT SELECTION SCREEN
AT SELECTION-SCREEN.
PERFORM f15000_pai_of_selection_screen.
*End of GA23062003
start of insert AW2150 GLDK9AAYU9
IF S_BEDAT IS INITIAL
AND S_EINDT IS INITIAL.
MESSAGE E999 WITH TEXT-E01.
ENDIF.
end of insert AW2150 GLDK9AAYU9
MAIN PROCESSING **
*eject
START-OF-SELECTION.
START-OF-SELECTION.
Store report name and report size into temp. varaibles for later use.
w_repid = sy-repid.
Select OAs and Info Records to be displayed into internal table
PERFORM f2000_get_pos.
Store data into final reporting internal table
PERFORM f3000_store_data.
Begin of KAK01
Start of GLDK9A8WWS (AS3848)
Calls the subroutine for building the event catalog for ALV. This
event catalog will be used in the function module that will generate
the ALV report. Logic will eventually be used for the generation of
the standard report header on top of each page.
CLEAR v_events.
w_linsz = sy-linsz.
PERFORM f17100_build_events USING v_events.
End of GLDK9A8WWS (AS3848)
Use ALV instead of normal list.
Write data to the screen.
Populate ALV Field Category Structure.
PERFORM f8000_field_cat.
Populate ALV Exclude Structure.
PERFORM f9000_alv_exclude.
*eject
END-OF-SELECTION.
END-OF-SELECTION.
Begin of KVI04Feb05
IF W_FLAG EQ C_X.
CLEAR W_FLAG.
STOP.
ENDIF.
End of "KVI04Feb05
Display Report.
PERFORM f10000_call_disp.
*eject
AT USER-COMMAND .
*AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'EXEL'.
PERFORM F5000_DOWNLOAD_TO_EXCEL.
WHEN 'CLIK'.
IF SY-LISEL+1(2) EQ '45'.
PERFORM F6000_see_po_details.
ELSE.
PERFORM F7000_see_oa_details.
ENDIF.
ENDCASE.
End of KAK01
*eject
Form(s)/Subroutine(s) ************************
*Start of GA29072003.
*& FORM F0100_CHECK_S_BEDAT
Check if user entered appropriate date values as selection criteria *
----Hi!
After you click on the printer icon, a popup will apeear. Depends on the SAP system version, you are using, somewhere on the popup, you can find a filed, which is called SAP COVER PAGE.
Here you can choose, coverpage, without cover page, or standard cover page.
Regards
Tamá -
Display multiple parameters in report header
i am attempting to display a multiple parameter selection in my report header
i user
join({?parameter},",")
in the stored proc it is a varchar
in the formula editor i receive this error
a string array is required here
what do i need to do to display the selected parameter values
i have used this function before with varchars and have had no problemsi used the following syntax in my sp which produced the correct results. i just placed the parameter in the header without using the join function and it works like a charm.
ALTER PROCEDURE [dbo].[Pr_orn_whse_rcpts]
(@From_Crt_Dte datetime ,
@To_Crt_Dte datetime,
@whse varchar(90))
AS
CREATE TABLE #T_Localwhs
warehouse varchar(6) null
DECLARE
@var varchar(6),
@i numeric,
@whs varchar(6),
@chk numeric
SET @i = 1
SET @var = (charindex(',',@whse))
IF @var <> 0
BEGIN
WHILE (@i < @var)
BEGIN
--SET @var = (CHARINDEX(',',@whse))
SET @whs = LTRIM(LEFT(@whse, (@var-1)))
INSERT #T_Localwhs (warehouse) VALUES (@whs)
SET @whse = RIGHT(@whse, (LEN(@whse)-@var))
SET @var = (CHARINDEX(',',@whse))
END
INSERT #T_Localwhs (warehouse) VALUES (LTRIM(@whse))
END
ELSE
BEGIN
INSERT #T_Localwhs (warehouse) VALUES (LTRIM(@whse))
END
then you add a nested query to join it to the sp. as below. above your where statement.
JOIN
SELECT DISTINCT
Warehouse
FROM #T_Localwhs
) TW
ON in_wthdr_tbl.in_wthdr_frwhs = TW.warehouse
WHERE -
Totals in report header?
I am using Crystal XI to develop a fairly simple financial report. One of the requirements for the report is to have a copy of the totals located in the Report Header section. It does not seem to be as simple as just putting the running total field in the header. When I do that it does not evaluate properly and the result is incorrect. What can I do to work around the limitation with Crystal? Maybe I need to design a sub report that totals the information and then supress everything but the Report Footer section on the sub-report?
Please try creating a sub report in the report header and assign the values to a shared variable and call the variable in the main report and place it in the below section of the sub report. And also note that you should not suppress the sub report instead suppress the sections inside the sub report and resize the sub report to smaller size.
How do I create a shared variable in the sub-report? Can you give me an example? I'm not sure what you mean by placing the variable "in the main report" ... "below the section of the sub report". Are you suggesting that I place both the sub-report, and the variable in the Report Header of the main report? If so, why? I imagine the variable would serve the same purpose as the sub-report. In the case, I could just use one or the other. -
Header table to repeat on every page
Hi,
I have requirement and might be a common one. I have to built an rtf template for Purchase orders to output in pdf.I have a header table and detail table in the template. If there are more detail records the detail table get extended to next page but not the header. I have coded something like below:
for-each: g_header
<header_table>
for-each: g_lines
<detail_table>
end for-each
end for-each
If i change to something like below:
for-each: g_header
for-each: g_lines
<header_table>
<detail_table>
end for-each
end for-each
it repeats both the tables for every detail line. I want the header section to repeat on every page. i think, this is a general issue. If anyone knows anything, Please help.
Thanks.Hi,
I am developing a PDF report with 4 levels of data.
Levels 1 to 3 contain the header info and Level 4 contains details.
For each new level 1,2,3 member, I want to display in a new page.
When the parent level has more than one child level, I want to repeat parent level info in all pages.
But there is some problem with my RTF template, I couldn't repeat header level in all pages.
I am doing something like below.
<?for-each@section:G_LEVEL1?>
<Level 1 table>
<?for-each-group:G_LEVEL2?>
<Level 2 table>
<?for-each-group:G_LEVEL3?>
<Level 3 table>
<?for-each:G_LEVEL 4_LINES?>
<Level 4 details table>
end for-each
page break end for-each
page break end for-each
end for-each
I have tried having header levels in RTF header itself and set the table property to repeat header. But all the pages are displaying same header.
Can you please help Srini ?
Many Thanks,
Krish -
Hide/show text boxes in report header
Hi All,
I'm trying to implement a request to have a tablix header frozen in excel. So, I'm placing it in the report header as text boxes. However, there are two different tablixes (a one per page) with two different headings. I'm trying to place those two headings
into two rectangles in the report header hiding and showing a one of it based on the Page No. It works but only for the first tablix heading as it's shown on the first page and hidden on the second page. But, the second tablix heading is not shown on the second
page for some reason. It's probably due to the Page No rendering is going later than the text boxes appearances on the second page or something else causing it.
I did try to use the Global Page No in if visibility statement for those two rectangles, trying to get Page No through a function, using it as a parameter, but nothing is making the second rectangle to show on the second page report header.
Please, help with how it could be done.
ThanksHi al-dol,
Per my understanding that you have put the textbox in the page header to display the table head instead of in the tablix thus you will got the frozen head when export to excel, you have two table header, so you need to add two rectangle to display both in
two different page, now the issue is the second page header didn't display, right?
I have testted on my local environment and can reproduce the issue, the issue can be caused by when you move the rectangle2 on the position of the rectangle1 then the rectangle becomes the child of rectangle1 but not the child of page header thus you will
not shown the rectangle2.
Please check the details information below to see if you have got the rectangle2 inside the rectangle1 like below:
if so, please move the rectangle2 one time and check to make sure you got the "Page Header" in the parent section of both rectangle:
Please also make sure you have use below expression to show/hide the rectangle:
rectangle1:
=iif(Globals!PageNumber=1,false,true)
rectangle2:
=iif(Globals!PageNumber=2,false,true)
If you still have any problem, please feel free to ask.
Regars,
Vicky Liu
Vicky Liu
TechNet Community Support -
How to freeze the report header row in the web template SAP BI 7.0?
Hello,
Can somebody tell me how to freeze the report header row in the web template SAP BI 7.0 (key fiigures1, 2,3)?
key figure1 key figure2 key figure3
20 30 40
30 80 90
ThanksHi,
You can refer the following threads...
Re: Create Scrollable Table Body in WAD - Locking Table Column and Header
Freeze Data Columns in WAD
This will help you!
Rgds,
Murali -
Select parameter in report heading
Hi all,
I have defined a date parameter as
Select-options: S_NACD2 FOR Z_VIEW_GITREPORT-BL_DATE OBLIGATORY. (It is a date type select option)
I have defined report heading as :
CALL FUNCTION 'HR_DISPLAY_BASIC_LIST'
EXPORTING
BASIC_LIST_TITLE = 'GIT Against Import POs'"sy-title
FILE_NAME = 'HR_DISPLAY_BASIC_LIST'
HEAD_LINE1 = GIT_REPORT_ID
HEAD_LINE2 = DATE
HEAD_LINE3 = USER_NAME
HEAD_LINE4 = RECS_FOUND
CURRENT_REPORT = 'HR_DISPLAY_BASIC_LIST'
TABLES
DATA_TAB = IT_GIT
FIELDNAME_TAB = MTAB_FIELDNAMES.
EXIT.
What I want that after heading ''GIT Against Import POs'' , value in S_NACD2 should appear like :
GIT Against Import POs 25.11.2007 31.11.2007.
How can I do that??
Regards,
Aisha Ishrat
ICI Pakistan Ltd.hi Aisha Ishrat
declare a variable
data: loc_variable(200).
then concatenate 'GIT Against Import POs' ' POs' ' 25.11.2007' ' 31.11.2007' into loc_variable.
then pass BASIC_LIST_TITLE = loc_variable.
hope u ll get.
regards
karthik -
How to create procedure for header table and item table
Hi,
Can anyone help me to understand how to write SQLscript procedure for looping item table inside header table?
I fetch records from sales header table ( order number ) and using that order number to loop sales item table,thereafter I need to perform business logic.
Any example similar above requirement would be helpful
thanks
SouravHi Folks,
This is my use case
1) Select fact records from tables (say A,B,C,D ) with suitable Joins and certain Where conditions
SELECT ordid FROM TABLES A,B,C,D on join condition where ....
2) Using above header records , I have to select each and every item level data from different tables ( say X,Y,Z ) and perform calculation to derive new columns to update a new table ( Zreport )
UPDATE TABLE ZREPORT
SET col1 = ( Select qty FROM TABLE X WHERE ordid = A.ordid
UPDATE TABLE ZREPORT
SET col2 = ( Select price FROM TABLE y WHERE ordid = B.ordid.
and so on for other columns..
3) Zreport table will be used for reporting.
I would like to know the best way to achieve this to gain performance.
Appreciate the help!
Thanks
Sourav -
HOW TO DECIDE IN A REPORT WHICH TABLE SHOULD LOOP FIRST?
MY Report contains 3 item table and one header table or 4 header tables then how to decide that this table should loop first.And how could i judge that this table contains duplicate entries.
HOW TO DECIDE IN A REPORT WHICH TABLE SHOULD LOOP FIRST?
Moderator message: please search for available information/documentation before asking, do not post in all upper case, these forums are not a substitute for ABAP training.
Edited by: Thomas Zloch on Dec 6, 2010 12:00 PMHi,
It is suggested to loop at the header table and then read the item table. Where in if you have multiple entries in the item table that matches, use the parallel cursors concept (Loop from index) as shown below
Loop at header....
Read table item with key......
If sy-subrc EQ 0.
Loop at item from sy-tabix.
-- Perform your processing.
endloop.
endif.
endloop.
Also make sure if you have duplicate entries in your internal tables, Use SORT and then DELETE ADJACENT DUPLICATES so that it avoids the performance issues as well
Hope this helps you.
Regards,
Shiva -
XI Page Header conditional suppression not exporting to editable RTF
I have a report that I don't want the page header to print on the first page (using the report header instead). It works great exporting to everything except editable RTF.
If i have a suppression condition on the page header, it doesn't print on any of the pages on the rtf. If I have no suppression, it prints on each page (including the first). Is this 'by design'? Is there a work around? Is it slated for a future enhancement? Bug Fix? I can't find any information on this situation. I'm assuming it's similar to the 'Page # of #' problem.
The customer insists on an editable RTF... as they want to edit it before sending it out to their customers!
If anyone has any ideas, knowledge, workarounds... I'd love to hear about it! Thanks!
BelindaHere is a workaround that I just tried and it works:
1. Create a "FakeGroup" formula:
WhileReadingRecords;
2. Insert Croup by "FakeGroup" formula
3. Move it to the top grouping level
4. Go to Options in Group Expert and click Repeat Group Header On Each Page
5. Go to Section Expert and conditionally suppress Group Header 1 (onfirstrecord)
6. Move all content of your Page Header to Group Header1
7. Suppress Page Header -
Hope this is the right forum, I am trying to build a custom report with a coverpage, the report is basically complete with one exception. The page footer section is causing a blank white area on the report header. The page footer has graphics and text objects in it which don't show up it's just blank. What's worse is it takes the items that it chopped out and dropped them onto the next page. WTF is happening here?
Alright, that's what I was looking for. So, if you don't want the Page Footer on the 1st page, follow Debi's advice on suppress it on Page1.
Here's how can do it though:
1) Go to the Section Expert (Report > Section Expert) and select Page Footer
2) Click on the x-2 formula icon beside the 'Suppress (No drill-down);
3) Type this formula:
Pagenumber = 1
This will suppress the Page Footer from appearing on Page 1.
-Hope this helps!
-Abhilash -
Running SQL in a WebDB report header
Is there any way to have a SQL statement generate data in the header of a WebDB Report? I've tried placing the oracle tag before and after the SQL, but the SQL text appears as the header to the report.
Have you tryed creating a stored procedure
which generates Html using the htp procedures
For example
create or replace procedure reportheader
as
cursor cSelectSomething is SELECT data
FROM table;
BEGIN
FOR rij in cSelectSomething
LOOP
htp.print(rij.data);
END LOOP;
END;
grant execute on reportheader to public;
Now use this in your report header(no oracle tags necessary)
[owner].reportheader;
Good Luck
Dave.
null -
Need help with my Report Header
Hi
I have this report that I had to add a column to. which i did. but the problem is I can't find where the report getting its header information from so that I can shift it so that it apears correct format.
Here is the code
*& Report ZSALES *
* Report runs by sales employee, by period (invoice month). It *
* displays the contract number, invoice number & amount for the period *
* and sold-to and ship-to partners of the contract. *
* MODIFICATION LOG *
* DATE AUTHOR DESCRIPTION *
* 10/12/98 gubbi Original Version *
* 01/14/99 gubbi added selection criteria - material *
* sold-to and bill-to parties *
* 05/23/99 bchakraborty added the contract type select *
* criteria *
* 04/25/07 akabir adding Emp# *
REPORT ZSALES
LINE-SIZE 260 LINE-COUNT 65(3).
TABLES: S006,
TVAKT,
VBRP, "Billing: Item Data
VBRK, "Billing: Header Data
VEDA,
VBAP,
ENT6030,
ENT6418, "Partner sales activity-employee-assignment
STXL, "STXD SAPscript text file lines
VBPA.
DATA: BEGIN OF REC OCCURS 0,
VRTNR LIKE S006-VRTNR, " sales employee
SPBUP LIKE S006-SPBUP, " period of analysis
VBELN LIKE ENT6418-VBELN, " contract number
POSNR LIKE ENT6418-POSNR, " contract line item number
MATNR LIKE VBAP-MATNR, " material number
VBEGDAT LIKE VEDA-VBEGDAT, " contract begin date
VENDDAT LIKE VEDA-VENDDAT, " contract end date
PSTYV LIKE VBAP-PSTYV, " item category
INVOICE LIKE VBRP-VBELN, " invoice number(billing doc.)
ITEM LIKE VBRP-POSNR, " invoice line item number
SOLD_TO LIKE ENT6030-KUNNR, " sold-to party
SHIP_TO LIKE ENT6030-KUNNR, " ship-to party
BILL_TO LIKE ENT6030-KUNNR, " bill-to party
FKDAT LIKE VBRK-FKDAT, " invoice date
FKART LIKE VBRK-FKART, " billing type
NETWR LIKE VBRK-NETWR. " invoice amount
DATA: END OF REC.
DATA: T_PERNR LIKE PERNR-PERNR,
TEMP(6),
PRINT_OUT, GET_MATRL.
* MES Moved to Global
DATA: BEGIN OF ADDR,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
END OF ADDR.
SELECTION-SCREEN BEGIN OF BLOCK ELMO WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: D_VKORG FOR S006-VKORG, " sales organization
DST_CHAN FOR S006-VTWEG, " distribution channel
DIV FOR S006-SPART, " division
EMPL_NO FOR S006-VRTNR, " sales employee number
SOLD_TO FOR ENT6030-KUNNR, " sold to party
BILL_TO FOR ENT6030-KUNNR, " bill to party
SHIP_TO FOR ENT6030-KUNNR, " ship to party
MATERIAL FOR S006-MATNR, " material number
PERIOD FOR S006-SPBUP, " analysis period
D_AUART FOR TVAKT-AUART. "Contract type
SELECTION-SCREEN END OF BLOCK ELMO.
SELECTION-SCREEN BEGIN OF BLOCK CHARLY WITH FRAME TITLE TEXT-002.
PARAMETERS: INVOICE RADIOBUTTON GROUP Z1,
COMISION RADIOBUTTON GROUP Z1.
SELECTION-SCREEN END OF BLOCK CHARLY.
"==================== Start Program ====================================
TOP-OF-PAGE.
* perform print_page_headings.
END-OF-PAGE.
SKIP 1.
FORMAT INTENSIFIED OFF.
* write: / 'Note: INVOICE TEXT IS BASED ON CURRENT INFORMATION',
* / ' AND MAY NOT MATCH THE ORIGINAL INVOICE'.
FORMAT RESET.
START-OF-SELECTION.
* commission report
IF COMISION EQ 'X'.
SELECT DISTINCT VRTNR FROM S006 INTO T_PERNR
WHERE VKORG IN D_VKORG AND
SPART IN DIV AND
VRTNR IN EMPL_NO AND
VTWEG IN DST_CHAN AND
SPBUP IN PERIOD.
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD S006-VKORG
ID 'VTWEG' FIELD S006-VTWEG
ID 'SPART' FIELD S006-SPART
ID 'ACTVT' FIELD '03'.
IF SY-SUBRC EQ 0.
SELECT * FROM ENT6418 WHERE PERNR = T_PERNR AND
PARVW = 'VE' AND "sales employee
VBELN >= '0090000000'.
MOVE: ENT6418-PERNR TO REC-VRTNR.
PERFORM GET_INVOICE_NUMBER.
CLEAR: REC, TEMP.
ENDSELECT.
ENDIF.
ENDSELECT.
* invoice registry report
ELSEIF INVOICE EQ 'X'.
SELECT * FROM VBRK
WHERE VKORG IN D_VKORG AND
SPART IN DIV AND
VTWEG IN DST_CHAN.
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD VBRK-VKORG
ID 'VTWEG' FIELD VBRK-VTWEG
ID 'SPART' FIELD VBRK-SPART
ID 'ACTVT' FIELD '03'.
IF SY-SUBRC EQ 0.
PERFORM GET_SALES_EMPLOYEE.
PERFORM GET_INFORMATION.
CLEAR: REC, TEMP.
ENDIF.
ENDSELECT.
ENDIF.
END-OF-SELECTION.
PERFORM PRINT_DATA.
*& Form GET_CONTRACT_NUMBER
* text
FORM GET_CONTRACT_NUMBER.
SELECT SINGLE * FROM VBRP WHERE VBELN = ENT6418-VBELN AND
POSNR = ENT6418-POSNR.
IF SY-SUBRC EQ 0.
MOVE: VBRP-AUBEL TO REC-VBELN, " contract number
VBRP-POSNR TO REC-POSNR. " contract item number
SELECT SINGLE * FROM VBAP WHERE VBELN = REC-VBELN AND
POSNR = REC-POSNR.
IF SY-SUBRC EQ 0.
MOVE: VBAP-MATNR TO REC-MATNR,
VBAP-PSTYV TO REC-PSTYV.
ENDIF.
SELECT SINGLE * FROM VEDA WHERE VBELN = REC-VBELN.
IF SY-SUBRC EQ 0.
MOVE: VEDA-VBEGDAT TO REC-VBEGDAT,
VEDA-VENDDAT TO REC-VENDDAT.
ENDIF.
ENDIF.
MOVE: ENT6418-VBELN TO REC-INVOICE, " invoice number
ENT6418-POSNR TO REC-ITEM. " invoice item number
ENDFORM. " GET_CONTRACT_NUMBER
*& Form GET_INVOICE_NUMBER
* text
FORM GET_INVOICE_NUMBER.
SELECT SINGLE * FROM VBRK WHERE VBELN = ENT6418-VBELN.
IF SY-SUBRC EQ 0.
PERFORM GET_INFORMATION.
ENDIF.
CLEAR: TEMP, REC.
ENDFORM. " GET_INVOICE_NUMBER
*& Form GET_SOLD_TO_SHIP_TO_PARTY
* text
FORM GET_SOLD_TO_SHIP_TO_PARTY.
SELECT * FROM VBPA WHERE VBELN = REC-VBELN.
* ( PARVW = 'AG' OR PARVW = 'WE' OR PARVW = 'RE' ).
IF VBPA-PARVW EQ 'AG'.
MOVE: VBPA-KUNNR TO REC-SOLD_TO.
ELSEIF VBPA-PARVW EQ 'WE'.
MOVE: VBPA-KUNNR TO REC-SHIP_TO.
ELSEIF VBPA-PARVW EQ 'RE'.
MOVE: VBPA-KUNNR TO REC-BILL_TO.
ENDIF.
ENDSELECT.
ENDFORM. " GET_SOLD_TO_SHIP_TO_PARTY
*& Form PRINT_DATA
* text
FORM PRINT_DATA.
DATA: NAME(25),
TEXT LIKE TVFKT-VTEXT.
SORT REC BY SPBUP
VRTNR
INVOICE ITEM.
FORMAT RESET.
LOOP AT REC.
AT NEW SPBUP.
* new-page.
ENDAT.
* Get contract type first for selection criteria
PERFORM GET_CONTRACT_TYPE.
* only continue if contract type is in selection
IF PRINT_OUT = 'Y'.
* Employee name note required
PERFORM GET_EMPLOYEE_NAME USING NAME.
perform get_billing_type_text using text.
* write: / 'Sales Employee: ', rec-vrtnr, name.
write: 1 rec-vrtnr.
clear: name.
IF REC-FKART EQ 'S1'.
FORMAT COLOR COL_NEGATIVE.
ENDIF.
WRITE: 170 REC-INVOICE, REC-ITEM. " Invoice #
* write: /10 'Billing Type: ', 30 rec-fkart, text.
FORMAT RESET.
CLEAR: TEXT.
* write: /10 'Invoice Date: ',
WRITE: 185 REC-FKDAT MM/DD/YY,
(10) REC-NETWR, 'USD'.
* write: /10 'Sold-to Party: ', 30 rec-sold_to.
WRITE: 11 REC-SOLD_TO. " 10 addr.
PERFORM GET_CUSTOMER_NAME USING REC-SOLD_TO.
* write: /10 'Ship-to Party: ', 30 rec-ship_to.
WRITE: 60 REC-SHIP_TO. " 60 addr.
PERFORM GET_CUSTOMER_NAME USING REC-SHIP_TO.
* write: /10 'Bill-to Party: ', 30 rec-bill_to.
* perform get_customer_name using rec-bill_to.
* write: 0 rec-bill_to, 10 addr.
WRITE: 155 REC-VBELN. " , rec-posnr. "Contract
WRITE: 220 REC-VBEGDAT, REC-VENDDAT.
* perform get_contract_type.
* perform get_item_category_text.
* perform get_long_text.
IF GET_MATRL NE 'N'.
PERFORM GET_MATERIAL_TEXT.
ENDIF.
* write: 105 rec-invoice, rec-item. " Invoice #
WRITE:/.
* uline.
ENDIF. " if contract selection
AT LAST.
SUM.
WRITE: /55 'Totals: ', (10) REC-NETWR.
ULINE.
ENDAT.
ENDLOOP.
ENDFORM. " PRINT_DATA
*& Form GET_EMPLOYEE_NAME
* text
FORM GET_EMPLOYEE_NAME USING P_NAME.
CALL FUNCTION 'Z_GET_EMPLOYEE_NAME'
EXPORTING
EMPL_NO = REC-VRTNR
IMPORTING
NAME = P_NAME
EXCEPTIONS
OTHERS = 1.
ENDFORM. " GET_EMPLOYEE_NAME
*& Form GET_LONG_TEXT
* text
FORM GET_LONG_TEXT.
DATA: DUMMY LIKE THEAD-TDNAME,
LINES TYPE I.
DATA: BEGIN OF TABLE_LINES OCCURS 0.
INCLUDE STRUCTURE TLINE.
DATA: END OF TABLE_LINES.
DATA: BEGIN OF IN_LINES OCCURS 0.
INCLUDE STRUCTURE TLINE.
DATA: END OF IN_LINES.
CONCATENATE REC-VBELN REC-POSNR INTO DUMMY.
SELECT * FROM STXL WHERE TDOBJECT = 'VBBP' AND
TDNAME = DUMMY.
CALL FUNCTION 'READ_TEXT_INLINE'
EXPORTING
ID = STXL-TDID
INLINE_COUNT = 1
LANGUAGE = 'E'
NAME = DUMMY
OBJECT = 'VBBP'
* IMPORTING
* HEADER =
TABLES
INLINES = IN_LINES
LINES = TABLE_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
OTHERS = 7.
DESCRIBE TABLE TABLE_LINES LINES LINES.
IF SY-SUBRC EQ 0.
SKIP 1.
WRITE: / 'Item Text: '.
ENDIF.
CLEAR LINES.
LOOP AT TABLE_LINES.
WRITE: / TABLE_LINES-TDLINE.
ENDLOOP.
REFRESH TABLE_LINES.
CLEAR: TABLE_LINES.
ENDSELECT.
ENDFORM. " GET_LONG_TEXT
*& Form GET_CUSTOMER_NAME
* text
FORM GET_CUSTOMER_NAME USING P_CUST_NO.
*data: begin of addr,
* name1 like kna1-name1,
* name2 like kna1-name2,
* end of addr.
DATA: STREET LIKE KNA1-STRAS,
CITY LIKE KNA1-ORT01,
STATE LIKE KNA1-REGIO,
ZIP LIKE KNA1-PSTLZ.
CALL FUNCTION 'Z_GET_CUSTOMER_NAME_ADDRESS'
EXPORTING
CUST_NO = P_CUST_NO
IMPORTING
NAME1 = ADDR-NAME1
NAME2 = ADDR-NAME2
STREET = STREET
CITY = CITY
STATE = STATE
ZIP = ZIP
EXCEPTIONS
OTHERS = 1.
CONDENSE ADDR.
* MES Don't need to print in this report
WRITE: ADDR(20).
* /30 street,
* /30 city, state, zip.
CLEAR: ADDR, STREET, CITY, STATE, ZIP.
ENDFORM. " GET_CUSTOMER_NAME
*& Form PRINT_PAGE_HEADINGS
* text
FORM PRINT_PAGE_HEADINGS.
DATA: MO(2), YR(4),
TEMP_NAME(80) VALUE SPACE.
WRITE: / SY-REPID.
IF COMISION EQ 'X'.
CALL FUNCTION 'Z_PRINT_PAGE_HEADINGS'
EXPORTING
STRING = 'COMMISSION REPORT'
EXCEPTIONS
OTHERS = 1.
ELSE.
CALL FUNCTION 'Z_PRINT_PAGE_HEADINGS'
EXPORTING
STRING = 'INVOICE REPORT'
EXCEPTIONS
OTHERS = 1.
ENDIF.
TEMP_NAME = 'PERIOD: '.
MO = REC-SPBUP+4(2).
YR = REC-SPBUP(4).
FORMAT INTENSIFIED ON.
CONCATENATE TEMP_NAME MO '/' YR INTO TEMP_NAME.
WRITE: / TEMP_NAME CENTERED.
CLEAR: MO, YR, TEMP_NAME.
IF D_VKORG <> SPACE.
TEMP_NAME = 'SALES ORGANIZATION:'.
IF D_VKORG-HIGH <> SPACE.
CONCATENATE TEMP_NAME D_VKORG-LOW ' TO:' D_VKORG-HIGH INTO
TEMP_NAME.
ELSE.
CONCATENATE TEMP_NAME D_VKORG-LOW INTO TEMP_NAME.
ENDIF.
ENDIF.
IF TEMP_NAME <> SPACE.
WRITE: / TEMP_NAME CENTERED.
CLEAR TEMP_NAME.
ENDIF.
IF DST_CHAN <> SPACE.
TEMP_NAME = 'DISTRIBUTION CHANNEL:'.
IF DST_CHAN-HIGH <> SPACE.
CONCATENATE TEMP_NAME DST_CHAN-LOW ' TO:' DST_CHAN-HIGH INTO
TEMP_NAME.
ELSE.
CONCATENATE TEMP_NAME DST_CHAN-LOW INTO TEMP_NAME.
ENDIF.
ENDIF.
IF TEMP_NAME <> SPACE.
WRITE: / TEMP_NAME CENTERED.
CLEAR TEMP_NAME.
ENDIF.
IF DIV <> SPACE.
TEMP_NAME = 'DIVISION:'.
IF DIV-HIGH <> SPACE.
CONCATENATE TEMP_NAME DIV-LOW ' TO:' DIV-HIGH INTO
TEMP_NAME.
ELSE.
CONCATENATE TEMP_NAME DIV-LOW INTO TEMP_NAME.
ENDIF.
ENDIF.
IF TEMP_NAME <> SPACE.
WRITE: / TEMP_NAME CENTERED.
CLEAR TEMP_NAME.
ENDIF.
* uline.
FORMAT RESET.
ENDFORM. " PRINT_PAGE_HEADINGS
*& Form GET_SALES_EMPLOYEE
* text
FORM GET_SALES_EMPLOYEE.
SELECT SINGLE * FROM ENT6418 WHERE VBELN = VBRK-VBELN AND
PARVW = 'RE'.
IF SY-SUBRC EQ 0.
MOVE: ENT6418-PERNR TO REC-VRTNR.
ENDIF.
SELECT SINGLE * FROM ENT6418 WHERE VBELN = VBRK-VBELN AND
PARVW = 'WE'.
ENDFORM. " GET_SALES_EMPLOYEE
*& Form GET_INFORMATION
* text
FORM GET_INFORMATION.
TEMP = VBRK-FKDAT(6).
CHECK TEMP IN PERIOD.
MOVE: VBRK-FKDAT TO REC-FKDAT, " invoice date
VBRK-FKART TO REC-FKART, " billing type
TEMP TO REC-SPBUP.
* subtract the amount if the invoice is cancelled.
* chakraborty. added the G2 and RE criteria to billing type
IF REC-FKART EQ 'S1'. " cancellation of inventory
REC-NETWR = -1 * VBRK-NETWR. " invoice amount
ELSEIF REC-FKART EQ 'G2'. " credit memo
REC-NETWR = -1 * VBRK-NETWR.
ELSEIF REC-FKART EQ 'RE'. " credit for returns
REC-NETWR = -1 * VBRK-NETWR.
ELSE.
REC-NETWR = VBRK-NETWR.
ENDIF.
PERFORM GET_CONTRACT_NUMBER.
PERFORM GET_SOLD_TO_SHIP_TO_PARTY.
IF REC-SOLD_TO IN SOLD_TO AND REC-BILL_TO IN BILL_TO AND
REC-MATNR IN MATERIAL AND
REC-SHIP_TO IN SHIP_TO.
APPEND REC.
ENDIF.
CLEAR REC.
ENDFORM. " GET_INFORMATION
*& Form GET_BILLING_TYPE_TEXT
* text
FORM GET_BILLING_TYPE_TEXT USING P_TEXT.
TABLES: TVFKT.
SELECT SINGLE * FROM TVFKT WHERE SPRAS = 'E' AND
FKART = REC-FKART.
IF SY-SUBRC EQ 0.
MOVE: TVFKT-VTEXT TO P_TEXT.
ENDIF.
ENDFORM. " GET_BILLING_TYPE_TEXT
*& Form GET_CONTRACT_TYPE
* text
* --> p1 text
* <-- p2 text
FORM GET_CONTRACT_TYPE.
TABLES: VIVEDA.
* TVAKT.
DATA: P_T_BEZEI LIKE TVAKT-BEZEI,
P_T_AUART LIKE TVAKT-AUART.
SKIP 1.
SELECT SINGLE AUART FROM VIVEDA INTO P_T_AUART
WHERE VBELN = REC-VBELN AND
POSNR = REC-POSNR.
IF P_T_AUART = 'ZWV'.
SELECT SINGLE BEZEI FROM TVAKT INTO P_T_BEZEI
WHERE AUART = P_T_AUART AND SPRAS = 'E'
AND AUART IN D_AUART.
WRITE: /110 P_T_AUART, 117 P_T_AUART , P_T_BEZEI.
ENDIF.
IF P_T_AUART IN D_AUART.
PRINT_OUT = 'Y'.
WRITE: /210 P_T_AUART.
ELSE.
PRINT_OUT = 'N'.
ENDIF.
CLEAR: P_T_AUART, P_T_BEZEI.
ENDFORM. " GET_CONTRACT_TYPE
*& Form GET_ITEM_CATEGORY_TEXT
* text
* -->P_I_TEXT text *
FORM GET_ITEM_CATEGORY_TEXT.
TABLES: TVAPT.
SELECT SINGLE * FROM TVAPT WHERE SPRAS = 'E' AND
PSTYV = REC-PSTYV.
IF SY-SUBRC EQ 0.
WRITE: /20 'Item Category: ', REC-PSTYV, TVAPT-VTEXT.
ENDIF.
ENDFORM. " GET_ITEM_CATEGORY_TEXT
*& Form GET_MATERIAL_TEXT
* text
* --> p1 text
* <-- p2 text
FORM GET_MATERIAL_TEXT.
TABLES: MAKT.
SELECT SINGLE * FROM MAKT WHERE MATNR = REC-MATNR AND
SPRAS = 'E'.
IF SY-SUBRC EQ 0.
WRITE: 110 REC-MATNR, 117 MAKT-MAKTX(35).
ENDIF.
ENDFORM. " GET_MATERIAL_TEXT
I was wondering if one of the experts can tell me how to get to the header.
There r previously wrtten code for header in there which is * marked. so its not using it. but may be I am missing some thing hereThanks but the line that calling that Form is * marked
* perform print_page_headings.
It never reaches there and the following is the code from that function which got just the title not the header stuff.
FUNCTION Z_PRINT_PAGE_HEADINGS.
*"*"Local interface:
*" IMPORTING
*" VALUE(STRING) LIKE IFLOTX-PLTXT OPTIONAL
DATA: V_HEAD_STRING(255) VALUE SPACE.
FORMAT INTENSIFIED OFF.
WRITE: / 'Printed By: ', SY-UNAME,
'On ', SY-DATUM MM/DD/YY,
'At ', SY-UZEIT,
65 'Page No. ', SY-PAGNO.
SKIP 1.
FORMAT RESET.
FORMAT INTENSIFIED ON.
V_HEAD_STRING = 'BGM INDUSTRIES INC.'.
WRITE: / V_HEAD_STRING CENTERED.
IF STRING <> SPACE.
V_HEAD_STRING = STRING.
WRITE: / V_HEAD_STRING CENTERED.
ENDIF.
FORMAT RESET.
ENDFUNCTION.
I am looking for the header stuff. when I run the report the above stuff doesn't even appear and understandably so as its commented out.
Maybe you are looking for
-
Free Good Configuration / Customization
Hi SAP Gurus Good evening i have a issue. I want to manage free goods ...... we have two catagories.... Local Indian Free Goods and Import Free Goods the case is like this Free Goods Local India. I don't pay and tax or duty over it....but i must be a
-
Additional Material Showing in CN52N report after MRP MD51
Dear All, I am attaching a FG material component to the internal activity and exploding bill of material for same. When I am seeing component overview report in CN52N I am getting material list which is attached to activity in Project. I am
-
i am working on a website which gets this kind of error very rarely and it comes randomly: here are the some details: 500 ROOT CAUSE: java.lang.OutOfMemoryError: unable to create new native thread So is there any way around or a hack that if the page
-
When i select option to share apps
I received a message that I'm only allowed five- and i need to get rid of one. To the best of my knowledge, I only have two laptops (and the other one hasn't had settings changed to share). Anyone know what I need to do?? Really appreciate your help!
-
Are there iPhone 4/4s space requirements for ios 7 update?
I have a 16GB 4S. I've read a couple of articles online saying I will need to "free up quite a bit of space" on my phone if I want to try and update to iOS 7 via OTA. Is this true? And if so, just how much space do I need to make available? I think