Range performance
In terms of range performance within the same wifi system (i.e., a, b, g, or n) , how would you rank the following from best to worst:
1. Airport Express (old models)
2. Airport Extreme (the non-N models)
3. Airport Express (new N models)
4. Airport Extreme (new N models)
5. Time Capsule
I own 1 and 2 and in my experience, the Airport Express (old models) have better range than the Airport Extreme (old model also), which is rather sad.
Duane wrote:
All of the 802.11g devices have the same range.
-> AirPort Express (AX)
-> AirPort Extreme base station (AEBS)
Is that true in practice? I find that not to be true. I own the old Airport Express and the Airport Extreme with the g/b standard (the one before the N version). I can say that my Express produces better signal than the Extreme.
In theory, what you say is accurate but in practice it is unlikely because the design of the antenna and the chips or what not are different.
Similar Messages
-
For all Enteries in & Ranges Performance Problem
Is there any soln of For all enteries in & Ranges as
If i use for all enteries in my report, it becomes slow .
and if i use Ranges , if no. of record exceeds system will throw dump.
Since long i couldnt find any good soln for this problem , can anyone guide me
how to solve this problem.
ThanksHi All
I am pasting down query for more expert optimzation comments of the current probs
SELECT zsd_weigh_bridg1~weight_no zsd_weigh_bridg1~challn_no
likp~vbeln AS likp_vbeln likp~lfdat
lips~vgbel
vbfa~vbeln AS vbfa_vbeln vbfa~vbtyp_n
mkpf~budat
* vtfa~vbeln AS vtfa_vbeln
ekko~knumv AS ekko_knumv
ekpo~inco1 ekpo~werks
APPENDING CORRESPONDING FIELDS OF TABLE lit_in
FROM zsd_weigh_bridg1
INNER JOIN likp ON likp~traid = zsd_weigh_bridg1~weight_no
INNER JOIN lips ON lips~vbeln = likp~vbeln
INNER JOIN vbfa ON vbfa~vbelv = likp~vbeln
LEFT OUTER JOIN mkpf ON mkpf~mblnr = vbfa~vbeln
LEFT OUTER JOIN vtfa ON vtfa~vbelv = vbfa~vbeln
INNER JOIN ekko ON ekko~ebeln = lips~vgbel
INNER JOIN ekpo ON ekpo~ebeln = ekko~ebeln
* FOR ALL ENTRIES IN git_bridge
WHERE zsd_weigh_bridg1~weight_no in r_weight." git_bridge-weight_no ." r_weight.
ENDIF.
lit_in_tmp[] = lit_in[].
DELETE lit_in_tmp WHERE vbtyp_n NE '8'.
IF lit_in_tmp[] IS NOT INITIAL.
SELECT mandt knumv kposn vbeln netwr netpr INTO TABLE lit_vfsi
FROM vfsi FOR ALL ENTRIES IN lit_in
WHERE vbeln EQ lit_in-likp_vbeln.
SELECT mandt tknum vbelv posnv vbtyp_v vbeln posnn vbtyp_n
INTO TABLE lit_vtfa
FROM vtfa FOR ALL ENTRIES IN lit_in
WHERE vbelv EQ lit_in-vbfa_vbeln.
IF lit_vtfa[] IS NOT INITIAL.
SELECT mandt fknum fkpos knumv
FROM vfkp INTO CORRESPONDING FIELDS OF TABLE lit_vfkp
FOR ALL ENTRIES IN lit_vtfa
WHERE fknum EQ lit_vtfa-vbeln.
ENDIF.
ENDIF. -
Airport extreme to extend time capsule range - performance degradation
I have a time capsule - had no wireless coverage on my patio. Installed an extreme base station as an extender and the good news is I now have coverage on my patio. Bad news is the performance in my office went from good to bad. Office had thruput of 5Mb per sec before installing the extender to around 300Kb per second after installing the extreme base station as an extender. When I unplug the extreme base station performance in the office goes back to good - 5Mb per second. Of course when I unplug extreme base station I lose coverage on the patio. I thought the network on my mac book pro would pick the transmitter with the strongest signal. When moving to the office I would restart the MACbook PRO to make sure it wasn't still using the same transmitter as when I moved to patio to office. The workaround is to leave the extender unplugged unless I am on the patio - an ugly kludge. Any insight help will be greatly appreciated.
Thanks,
MikeThanks for all your help and the explanations.
Not looking to beat a dead horse - everything is working to my satisfaction but but my head is spinning on some of this stuff.
Originally on the TC 'Radio Mode' was set to '802.11n (802.11b/g compatible)'.
I changed it to '802.11n only (5Ghz)'. That resolved my issues and I am very happy about that.
Per your post the iphone was not 802.11n capable and my poking around on GOOGLE seems to confirm that.
However, my iphone 3g looks like it is utilizing my wireless network. I see a fan icon vs. 3g icon. When I first take the iphone off sleep, the icon is 3g but it changes to the fan icon. I can confirm it is using my wireless network through an application. The app is IPOD keeper which syncs my passwords. It shows it is picking up an DHCP ip address and port number from my private wireless network. 192.168.2.xxx.
My wife has a first gen iphone and an Ipad - she is out of town and I can't test those devices. If the first gen iphone can't utilize the wireless network - no big deal - it's simply a phone for her. Hopefully the Ipad will work - that is a big deal for her.
I'm always trying to learn and appreciate your time and help. -
To improve the system performance of the code
Please help me to improve the system performance of the following program. its very urgent
report zsdr0125
no standard page heading
* LINE-SIZE 170 " SIR 061880
line-size 210 " SIR 061880
line-count 58
message-id zz.
** Report header ******************************************************
** Report name: Activity Costing Report
** Report id: RO-01148
** Designed/Coded. Tori Chandler. Reporting Team.
** Date: March 01, 2000.
** Original SIR: 016113
** Application Area: V - Sales & Distribution (OTC)
** Correction/Transport: D10K951579
** Description: It is normal business practice for logistics
** operations to charge business units for the activity
** incurred on their behalf. This is consistent with
** activity based costing principles between BU and
** shared resources. The activities involved are picking
** storage, shipping and receiving. The purpose of this
** report is to provide data for the first 3.
** QRB2 - 03/13/2000 - Tracy, Antoine, Christian, Tori
** History:
* 06/14/2001 SIR 032383 CTS Antoine Dailly
* A plant (WERKS) can have several Distrib points (VSTEL)
* SIGN = 032383
* Modification History:
* Date Modified by SIR CTS Description
*11/14/2001 J.CAMPION 034606 D10K979189 Logistics Activity report
* Logistics Activity reports
* We added fields ship to customer and country and we also make another
* total
* QRB2 Tracy L. Obrien
* Modification History:
* Date Modified by SIR CTS Description
*11/14/2001 J.CAMPION 37838 D10K982890 Select only
* material type HALB
*06/12/2002 T OBrien 38784 D10K988181
* Allow option to get material weight from Master data or
* from the delivery.
* Modified by SIR CTS Date
* Jim Harwood 42730 D10K993119 10 Oct 2002
* Description: Code amended to default the Goods Issue Date range to
* the previous month. Also amended to print out the Select Options.
* Modified by SIR CTS Date
* Jim Harwood 44381 D10K994598 18 Nov 2002
* Description: Correct date range processing. APPEND statement added
* so that record is added ot internal table S_WADAT. Also S_VKORG
* removed as it was NO DISPLAY and nothing was assigned to it. It's use
* in an SQL call may be causing the wrong optimization.
* Modified by SIR CTS Date
* Tori Chandler 45567 D10K995875 03 Jan 2003
* Description: Correct reporting of weights for non-pickable items
* when the Material Master Data radiobutton is selected. Also found
* from SIR 37838, that material type is hardcoded on the LIPS. I
* created a new select option and the person needing the report
* can control if they want only HALB or all line items. Also,
* because of this the delivery weight is obtain from header,
* changing to accumulate from LIPS to match which lines are selected
* QRB2: 1/15/2003: Eileen, Jerome and Tori
*{ INSERT D11K901833 1
* Modified by Sir CTS Date
* Sue Kastan 48712/054042 D11K901833 28 Aug, 2003
* Fix overcounting of records from LIPS
*} INSERT
* Modified by SIR CTS Date *
* Vijay Andea 061880 D11K918628 04/20/2006 *
* D11K946194 *
* Description: Enhence ZSDR0125 Activity Cost Driver Report to allow *
* Analysis by Product Groupings. *
*} INSERT
* Modified by SIR CTS Date *
* Prakash Arunachalam 091510 D11K950288 09/26/2006 *
* Description: Correct Activity Cost report - material weight *
* calculation *
* Modified by SIR CTS Date *
* Murali Krishna 301978 D50K903293 01/20/2008
* Description: Improve the system performance of this report and
* clean-up of code into various form routine
* Table declaration.
tables: likp, " SD Document: Delivery Header Data
lips, " SD document: Delivery: Item data
vepo, " SD Document: Shipping Unit Item (Content)
vekp, " SD Document: Shipping Unit Header
knvv, " Customer Master Sales Data
kna1, " General Data in Customer Master SIR 34606
marm, " Units of Measure
mara, " Material Master: General Data SIR 38784
t001l, " Stge locs
t001k, " Valuation area
tvswz, " Shipping Points per Plant
t134, " Material types
z0234. " Alternative Unit of Measure
*** Selection screen.
selection-screen begin of block b1 with frame title text-001.
parameters: p_werks like t001l-werks obligatory memory id wrk.
select-options: s_lgort for t001l-lgort,
* S_VKORG FOR TVKO-VKORG NO-DISPLAY ," SIR 34606, 42730
* S_WADAT FOR LIKP-WADAT_IST OBLIGATORY NO-EXTENSION,
s_wadat for likp-wadat_ist no-extension, " SIR 42730
s_mtart for t134-mtart, " SIR 45567
s_lfart for likp-lfart no-display no intervals.
selection-screen skip 2.
selection-screen comment 1(21) text-002. " SIR 38784
parameters: p_delwt radiobutton group grp1, " SIR 38784
p_mstwt radiobutton group grp1. " SIR 38784
*--------------------------------------------------*Start of SIR 061880
selection-screen skip 2.
selection-screen comment 1(21) text-006.
parameters: p_voldl radiobutton group 2, " Volume from Delivery
p_volmd radiobutton group 2. " Volume from Master Data
*-----------------------------------------------------End of SIR 061880
selection-screen end of block b1.
*--------------------------------------------------*Start of SIR 061880
selection-screen begin of block b2 with frame title text-007.
select-options: s_cbuun for knvv-kvgr1 no intervals, " Customer BU
s_mbuun for mara-prdha+1(2) no intervals, " Material BU
s_lobus for mara-prdha+3(3) no intervals, " LOB
s_pac1 for mara-prdha+6(3) no intervals. " PAC1
selection-screen end of block b2.
*----------------------------------------------------*End of SIR 061880
*---Type Declaration for Internal Tables------------------------------*
types: begin of t_likp,
vbeln like likp-vbeln, " delivery
vstel like likp-vstel, " shipping point
lfart like likp-lfart, " delivery type
vkorg like likp-vkorg, " Sales organization
kunag like likp-kunag, " sold-to party
kunnr like likp-kunnr, " ship to party SIR 34606
btgew like likp-btgew, " Delivery weight
gewei like likp-gewei, " Unit of weight
anzpk like likp-anzpk, " Number of Packages SIR 61880
volum like likp-volum, " Delivery Volume SIR 61880
voleh like likp-voleh, " Volume Unit SIR 61880
vtwiv like likp-vtwiv, " Distribution channel
spaiv like likp-spaiv, " Division
wadat_ist like likp-wadat_ist, " actual goods issue date
del_flg(1) type c, "(+) SIR 301978
end of t_likp.
types: begin of t_lips,
vbeln like lips-vbeln, " delivery
posnr like lips-posnr, " delivery line
matnr like lips-matnr, " material
lgort like lips-lgort, " storage location
prodh like lips-prodh, " product hierarchy
meins like lips-meins, " base UoM
brgew like lips-brgew, " Material weight
gewei like lips-gewei, " Unit of weight
volum like lips-volum, " Material Volume SIR 61880
voleh like lips-voleh, " Volume Unit SIR 61880
lgmng like lips-lgmng, " actual delivery quantity
komkz like lips-komkz, " Indicator for picking control
mtart like lips-mtart, " Material type " SIR 37838
del_flg(1) type c, "(+) SIR 301978
end of t_lips.
types: begin of t_vepo,
venum like vepo-venum, " shipping unit number
vbeln like vepo-vbeln, " delivery
end of t_vepo.
types: begin of t_vekp,
venum like vekp-venum, " shipping unit number
brgew like vekp-brgew, " actual weight
gewei_max like vekp-gewei_max, " unit of weight
vpobjkey like vekp-vpobjkey, " key for assigned object
end of t_vekp.
types: begin of t_knvv,
kunnr like knvv-kunnr, " customer number
ktgrd like knvv-ktgrd, " acct assign group
kvgr1 like knvv-kvgr1, " customer group 1
end of t_knvv.
types: begin of t_kna1, " SIR 34606
kunnr like kna1-kunnr, " customer number " SIR 34606
land1 like kna1-land1, " contry " SIR 34606
end of t_kna1. " SIR 34606
types: begin of t_marm,
matnr like marm-matnr, " material
meinh like marm-meinh, " Alt unit of measure 032383
umrez like marm-umrez, " numerator
umren like marm-umren, " denominator
end of t_marm.
types: begin of t_mara, " SIR 38784
matnr like mara-matnr, " material " SIR 38784
prdha like mara-prdha, " Product Hierarchy " SIR 61880
brgew like lips-brgew, " gross weight " SIR 38784
gewei like mara-gewei, " Unit of weight " SIR 38784
volum like mara-volum, " Volume " SIR 61880
voleh like mara-voleh, " Volume Unit " SIR 61880
del_flg(1) type c, "(+) SIR 301978
end of t_mara. " SIR 38784
types: begin of t_tvswz,
vstel like tvswz-vstel, " shipping point
end of t_tvswz.
types: begin of t_z0234, "032383
vstel like z0234-vstel, " shipping point 032383
zpaluom like z0234-zpaluom," pallet unit of measure 032383
zcsuom like z0234-zcsuom," Case unit of measure 032383
end of t_z0234. "032383
types: begin of t_output_dt,
wadat_ist like likp-wadat_ist, " Goods issue date
ktgrd like knvv-ktgrd," acct assign group
bu like knvv-kvgr1," business unit
kunnr like kna1-kunnr," ship to location SIR 34606
land1 like kna1-land1," ship to location SIR 34606
d_btgew like likp-btgew," delivery weight
m_brgew like lips-brgew," material weight
a_brgew like vekp-brgew," actual weight of ship unit
num_del type i, " counter of deliveries
num_pallets type i, " number of pallets
num_cases type i, " number of cases
num_loose type i, " loose quantity
num_delln type i, " counter of delivery lines
* packages like likp-anzpk," Number of Packages " SIR 61880
packages(3) type p, " Number of Packages " SIR 61880
volume like lips-volum," Volume " SIR 61880
lobus(3) type c, " Line of Business " SIR 61880
pac1(3) type c, " PAC1 " SIR 61880
end of t_output_dt.
types: begin of t_output_ag,
ktgrd like knvv-ktgrd," acct assign group
bu like knvv-kvgr1," business unit
land1 like kna1-land1," country SIR 34606
d_btgew like likp-btgew," delivery weight
m_brgew like lips-brgew," material weight
a_brgew like vekp-brgew," actual weight of ship unit
num_del type i, " counter of deliveries
num_pallets type i, " number of pallets
num_cases type i, " number of cases
num_loose type i, " loose quantity
num_delln type i, " counter of delivery lines
* packages like likp-anzpk," Number of Packages " SIR 61880
packages(3) type p, " Number of Packages " SIR 61880
volume like lips-volum," Volume " SIR 61880
lobus(3) type c, " Line of Business " SIR 61880
pac1(3) type c, " PAC1 " SIR 61880
end of t_output_ag.
types: begin of t_output_gs, " SIR 34606
ktgrd like knvv-ktgrd," acct assign group " SIR 34606
bu like knvv-kvgr1," business unit " SIR 34606
d_btgew like likp-btgew," delivery weight " SIR 34606
m_brgew like lips-brgew," material weight " SIR 34606
a_brgew like vekp-brgew," actual weight " SIR 34606
num_del type i, " counter of deliv " SIR 34606
num_pallets type i, " number of pallets " SIR 34606
num_cases type i, " number of cases " SIR 34606
num_loose type i, " loose quantity " SIR 34606
num_delln type i, " counter of deliv " SIR 34606
* packages like likp-anzpk, " Number of Package " SIR 61880
packages(3) type p, " Number of Packages" SIR 61880
volume like lips-volum, " Volume " SIR 61880
lobus(3) type c, " Line of Business " SIR 61880
pac1(3) type c, " PAC1 " SIR 61880
end of t_output_gs. " SIR 34606
*-------------------------------------------------* Begin of SIR 061880
* Material Type
types: begin of t_mtart,
mtart like t134-mtart, " Material Type
end of t_mtart.
* Customer Business Unit.
types: begin of t_kvgr1,
kvgr1 like knvv-kvgr1, " Customer Group 1
end of t_kvgr1.
* sales Organization.
types: begin of t_lgort,
lgort like t001l-lgort, " Sales Organization
end of t_lgort.
* Begin of SIR 301978
* Header: Material Document
types: begin of t_mkpf,
vgart type mkpf-vgart,
xblnr type likp-vbeln,
end of t_mkpf.
* End of SIR 301978
*---------------------------------------------------* End of SIR 061880
*---Internal Tables---------------------------------------------------*
data: i_likp type t_likp occurs 0 with header line,
i_temp_likp type t_likp occurs 0 with header line,
v_likp type t_likp,
i_lips type t_lips occurs 0 with header line,
i_temp_lips type t_lips occurs 0 with header line,
v_lips type t_lips,
i_vepo type t_vepo occurs 0,
* V_VEPO TYPE T_VEPO,
i_vekp type t_vekp occurs 0,
v_vekp type t_vekp,
i_knvv type t_knvv occurs 0 with header line,
v_knvv type t_knvv,
i_kna1 type t_kna1 occurs 0, " SIR 34606
v_kna1 type t_kna1, " SIR 34606
i_z0234 type t_z0234 occurs 0, " 032383
v_z0234 type t_z0234, " 032383
i_z0234_uom type t_z0234 occurs 0, " 032383
v_z0234_uom type t_z0234, " 032383
i_marm type t_marm occurs 0 with header line," SIR 61880
i_marm_pallet type t_marm occurs 0 with header line,
v_marm_pallet type t_marm,
i_marm_case type t_marm occurs 0 with header line,
v_marm_case type t_marm,
*-------------------------------------------------* Begin of SIR 061880
* I_MARA TYPE T_MARA OCCURS 0, " SIR 38784
i_mara1 type t_mara occurs 0 with header line,
i_mtart type t_mtart occurs 0 with header line,
i_kvgr1 type t_kvgr1 occurs 0 with header line,
i_lgort type t_lgort occurs 0 with header line,
v_kvgr1 type t_kvgr1,
*---------------------------------------------------* End of SIR 061880
v_mara type t_mara, " SIR 38784
i_tvswz type t_tvswz occurs 0,
v_tvswz type t_tvswz, "(+) SIR 301978
i_output_dt type t_output_dt occurs 0,
v_output_dt type t_output_dt,
i_output_ag type t_output_ag occurs 0,
v_output_ag type t_output_ag,
i_output_gs type t_output_gs occurs 0, " SIR 34606
v_output_gs type t_output_gs, " SIR 34606
i_mkpf type table of t_mkpf with header line."SIR 301978
*** Data Declarations *
data: v_page(3) type c, " Page Counter
v_comp like t001k-bukrs, " zbsn0001 company code
v_title(24) type c, " zbsn0001 report title
v_rpttyp type c, " report type
v_ok type c, " control While... endwhile
v_diff_date type p, " days between selection
v_werks like t001l-werks, " plant
* v_z0234_zpaluom like z0234-zpaluom, " Pallet Unit of Measure
* v_z0234_zcsuom like z0234-zcsuom, " Case Unit of Measure
v_palwto type p decimals 6, " SIR 091510
* "like likp-btgew, " Weight after conversion
v_vekp_tabix like sy-tabix, " index on read
v_vekp_sum_brgew like vekp-brgew, " actual weight
v_pallet_qty like lips-lgmng, " calculated pallet qty
v_pallet_integer type i, " true pallet qty
v_case_qty like lips-lgmng, " calculated case qty
v_case_integer type i, " true case qty
v_qty_not_pallets like lips-lgmng, " calculated
v_num_pallets like lips-lgmng, " calculated nbr of pallets
v_num_pallets_int type i, " true nbr of pallets
v_num_cases like lips-lgmng, " calculated nbr of cases
v_num_cases_int type i, " true nbr of cases
v_total_case_qty like lips-lgmng, " case quantity
v_loose_qty type i, " calculated loose quantity
*-------------------------------------------------* Begin of SIR 061880
v_volume like lips-volum, " Volume After Convertion
v_cbuun like knvv-kvgr1, " Customer BU
v_mbuun like knvv-kvgr1, " Material BU
v_lobus(3) type c, " Line of Business
v_pac1(3) type c, " PAC1
v_flag type c. " Flag Indicator for No Data
*---------------------------------------------------* End of SIR 061880
* Begin of SIR 301978
* Ranges
ranges : r_vstel for tvswz-vstel.
* End of SIR 301978
* Constants
data: c_uom(3) type c value 'KG'. " Kilogram Unit of Meas.
data : c_vom like mara-voleh value 'M3'. " Metter Cube. " SIR 061880
constants : c_wl(2) type c value 'WL'. "(+) SIR 301978
* Initialization.
initialization.
s_lfart-sign = 'I'.
s_lfart-option = 'EQ'.
s_lfart-low = 'LF '.
append s_lfart.
s_lfart-low = 'NL '.
append s_lfart.
s_lfart-low = 'NLCC'.
append s_lfart.
s_lfart-low = 'ZLFI'.
append s_lfart.
* AT SELECTION-SCREEN.
at selection-screen.
* SIR 42730 - If no Goods Issue Date has been specified in the
* Select Options set the range to the previous month.
if s_wadat-low is initial.
s_wadat-sign = 'I'.
s_wadat-option = 'BT'.
s_wadat-high = sy-datum. " Today's date
s_wadat-high+6(2) = '01'. " First of this month
s_wadat-high = s_wadat-high - 1. " End of last month
s_wadat-low = s_wadat-high. " End of last month
s_wadat-low+6(2) = '01'. " First of last month
append s_wadat.
endif. " SIR 42730 IF S_WADAT-LOW IS INITIAL.
clear v_werks. "(+) SIR 301978
* Validate Plant/Storage Location from selection screen
select werks up to 1 rows into v_werks from t001l
where werks = p_werks and
lgort in s_lgort.
endselect.
if sy-subrc ne 0.
message e045 with text-e01.
endif.
* Validate Storage Location
if not s_lgort[] is initial.
select lgort from t001l into table i_lgort where lgort in s_lgort.
if sy-subrc ne 0.
message e045 with text-e09.
endif.
endif.
* Validate date range. do not allow more that 31 days
if not s_wadat-high is initial.
v_diff_date = s_wadat-high - s_wadat-low.
if v_diff_date >= '31'.
message e045 with text-e02.
endif.
endif.
*-------------------------------------------------* Begin of SIR 061880
* Validation for Material Type in Selection Screen
if not s_mtart[] is initial.
select mtart from t134 into table i_mtart where mtart in s_mtart.
if sy-subrc ne 0.
message e045 with text-e07.
endif.
endif.
at selection-screen on block b2.
* Validation for Material Business Unit and Customer Business Unit.
if s_cbuun-low is not initial and s_mbuun-low is not initial.
message e045 with text-e05.
endif.
* Validation for Possible combinations of Material BU, Line of Business
* and PAC1
if ( s_mbuun-low is not initial and s_lobus-low is not initial
and s_pac1-low is not initial )
or ( s_mbuun-low is not initial and s_lobus-low is not initial )
or ( s_lobus-low is not initial and s_pac1-low is not initial )
or ( s_mbuun-low is not initial and s_pac1-low is not initial ).
message e045 with text-e06.
endif.
* Validation for Customer Business Unit.
if not s_cbuun[] is initial.
select kvgr1 from tvv1 into table i_kvgr1 where kvgr1 in s_cbuun.
if sy-subrc ne 0.
message e045 with text-e08.
endif.
* free: i_kvgr1.
endif.
*---------------------------------------------------- End of SIR 061880
* TOP-OF-PAGE
* Top of the page routine to print the headers and columns
top-of-page.
format color col_heading on.
if v_rpttyp = 'D'.
v_title = text-h01.
else.
v_title = text-h02.
endif.
perform zbsn0001_standard_header " Standard Report Heading Form
using v_comp v_title 'U' v_page.
skip.
if v_rpttyp = 'D'.
perform write_dtlvl_headings.
else.
perform write_aglvl_headings.
endif.
* FORM WRITE_DTLVL_HEADINGS *
* for date detail level, print the column headers *
form write_dtlvl_headings.
write: /001 text-h03, " Acct
038 text-h04, " ------ P I C K I N G ------
105 text-h05, " ----- S H I P P I N G -----
/001 text-h06, " Group
007 text-h07, " Date
017 text-h08, " BU
021 text-h17, " ship to party 34606
030 text-h18, " country
039 text-h09, " Pallets
057 text-h10, " Cases
075 text-h11, " Loose
093 text-h12, " Lines
105 text-h13, " Material Kg
124 text-h16, " Delivery Kg
143 text-h14, " Actual Kg
161 text-h15, " Deliveries
*----------------------------------------------------Start of SIR 61880
173 text-h20, " Packages
189 text-h21, " Volume
201 text-h22, " LOB
207 text-h23. " PAC1
*-----------------------------------------------------*End of SIR 61880
skip.
endform. " end of write_dtlvl_headings.
* FORM WRITE_AGLVL_HEADINGS *
* for account group detail level, print the column headers *
form write_aglvl_headings.
write: /001 text-h03, " Acct
038 text-h04, " ------ P I C K I N G ------
105 text-h05, " ----- S H I P P I N G -----
/001 text-h06, " Group
017 text-h08, " BU
030 text-h18, " country SIR 34606
039 text-h09, " Pallets
057 text-h10, " Cases
075 text-h11, " Loose
093 text-h12, " Lines
105 text-h13, " Material Kg
124 text-h16, " Delivery Kg
143 text-h14, " Actual Kg
161 text-h15, " Deliveries
*---------------------------------------------------*Start of SIR 61880
173 text-h20, " Packages
189 text-h21, " Volume
201 text-h22, " LOB
207 text-h23. " PAC1
*-----------------------------------------------------*End of SIR 61880
skip.
endform. " end of write_aglvl_headings.
*-------------------------- SUBBROUTINES -----------------------------*
include zbsn0001. " Include to print all Standard Report Titles
include zsdn0004. " Print the Select Options
*** MAIN SELECTION. *
start-of-selection.
refresh: i_likp, i_temp_likp, i_lips, i_temp_lips, i_vepo,
i_vekp, i_knvv, i_marm_pallet, i_marm_case, i_tvswz,
i_output_dt, i_output_ag, i_mara1.
clear: v_likp, v_lips, v_vekp, v_knvv, v_mara,
v_marm_pallet, v_marm_case, v_output_dt, v_output_ag.
v_rpttyp = 'D'.
* SIR 42730 - Echo the Select Options to the output listing and print
* the Goods Issue Date range being used.
write: /,/. " SIR 43730 - Skip a couple of lines to centre it.
perform zsdn0004_print_select_options using sy-cprog ' '.
if s_wadat-high is initial.
write: /,/, text-003, 34 s_wadat-low.
else.
write: /,/, text-003, 34 s_wadat-low, 44 text-004, 47 s_wadat-high.
endif.
new-page.
* Main Processing. *
perform get_data.
if not i_lips[] is initial.
perform create_output.
endif.
* END-OF-SELECTION
end-of-selection.
*-------------------------------------------------* Start of SIR 061880
* PERFORM WRITE_REPORT.
if not i_output_dt[] is initial and not i_output_ag[] is initial and
not i_output_gs[] is initial.
perform write_report.
else.
skip 2.
write:/ text-e03.
skip 2.
uline.
clear: v_flag.
endif.
*---------------------------------------------------* End of SIR 061880
* FORM GET_DATA *
* build all of the internal tables needed for the report *
* selects on t001k, z0234, likp, lips, vepo, vekp, knvv & marm, mara *
form get_data.
perform get_data_t001k. " SIR 301978
perform get_data_tvswz. " SIR 301978
if sy-subrc = 0. " Build shipping point range
perform get_data_Z0234. " SIR 301978
if sy-subrc ne 0.
v_flag = 'X'.
* stop.
else.
sort i_z0234 by vstel. " 032383
endif.
* Begin of SIR 301978
* The data retrievalfrom LIKP has been modified for performance
* reasons
perform get_data_mkpf. " SIR 301978
if sy-subrc eq 0.
* Deleting data other than Goods issued for delivery
delete i_mkpf where vgart ne c_wl.
sort i_mkpf by xblnr.
endif.
* Deleting the data from the internal table i_likp by comparing
* shipping point
r_vstel-sign = 'I'.
r_vstel-option = 'EQ'.
clear : v_tvswz.
loop at i_tvswz into v_tvswz.
r_vstel-low = v_tvswz-vstel.
append r_vstel.
endloop.
if not i_mkpf[] is initial.
perform get_data_likp. " SIR 301978
endif.
if sy-subrc = 0.
delete i_likp where not lfart in s_lfart.
* End of SIR 301978
* Get data for the delivery lines
if not i_likp[] is initial.
perform get_data_lips. " SIR 301978
* Begin of SIR 301978
if i_lips[] is initial.
v_flag = 'X'.
message i089 with text-i02.
leave list-processing.
endif. " Return code for LIPS select
* End of SIR 301978
endif.
*-------------------------------------------------* Begin of SIR 061880
* Get Data From MARA (Material Master) to Read Material Weight and
* Material Voluem from Master Data.
if not i_lips[] is initial.
* Begin of SIR 301978
* Delete the duplicate material from delivery item table
i_temp_lips[] = i_lips[].
sort i_temp_lips by matnr.
delete adjacent duplicates from i_temp_lips comparing matnr.
perform get_data_mara. " SIR 301978
if sy-subrc = 0.
sort i_mara1 by matnr.
clear i_temp_lips.
refresh i_temp_lips.
* End of SIR 301978
else.
v_flag = 'X'.
message i089 with text-i01.
leave list-processing.
endif.
endif.
* Filter I_LIPS and I_MARA1 When Either material BU or Line of
* Business (LOB) or PAC1 are not left Balnk
perform filter_data_for_prdha.
* Get data for the sold-to customer
perform i_knvv_fill_data.
* Filter I_LIKP & I_LIPS & I_MARA for Cust-BU, When Cust-Bu is not
* left Blank.
perform filter_likp_lips_mara_custbu.
*---------------------------------------------------- End of SIR 061880
*-------------------------------------------------* Begin of SIR 034606
* Get data for the ship to party
i_temp_likp[] = i_likp[].
sort i_temp_likp by kunnr.
delete adjacent duplicates from i_temp_likp comparing kunnr.
perform get_data_kna1. " SIR 301978
if sy-subrc = 0.
sort i_kna1 by kunnr.
endif.
*---------------------------------------------------* End of SIR 034606
else.
v_flag = 'X'.
message i089 with text-i04.
leave list-processing.
endif. " return code to LIKP select
* endif. " SIR 061880
free: i_temp_likp.
endif. " return code for TVSWZ select
* Process table LIPS
if not i_lips[] is initial.
i_temp_lips[] = i_lips[].
sort i_temp_lips by vbeln.
delete adjacent duplicates from i_temp_lips comparing vbeln.
* Get actual weight
perform get_data_vepo. " SIR 301978
if sy-subrc = 0.
sort i_vepo by venum.
delete adjacent duplicates from i_vepo comparing venum.
perform get_data_vekp. " SIR 301978
sort i_vekp by vpobjkey.
endif.
free: i_vepo, i_temp_lips.
i_temp_lips[] = i_lips[].
sort i_temp_lips by matnr.
delete adjacent duplicates from i_temp_lips comparing matnr.
* Get Units of Measure for Material
perform read_data_from_marm. " SIR 061880
* Begin of SIR 032383
i_z0234_uom = i_z0234.
sort i_z0234_uom by zpaluom.
delete adjacent duplicates from i_z0234_uom comparing zpaluom.
* End of SIR 032383
clear i_marm_pallet. " SIR 061880
refresh i_marm_pallet. " SIR 061880
loop at i_z0234_uom into v_z0234_uom. "LOOP Z0234 032383
*-------------------------------------------------* Begin of SIR 061880
* Get Alternative Unit of Measure for Pallets
perform i_marm_pallet_fill.
endloop. "ENDLOOP Z0234 032383
** get alternative UoM for pallets
* SELECT MATNR " material
* MEINH " Alt unit of measure " 032383
* UMREZ " numerator
* UMREN " denominator
** into table i_marm_pallet " 032383
* APPENDING TABLE I_MARM_PALLET "032383
* FROM MARM
* FOR ALL ENTRIES IN I_TEMP_LIPS
* WHERE MATNR = I_TEMP_LIPS-MATNR AND
** meinh = v_z0234_zpaluom. " 032383
* MEINH = V_Z0234_UOM-ZPALUOM. " 032383
*---------------------------------------------------* End of SIR 061880
sort i_marm_pallet by matnr meinh.
free i_z0234_uom. "032383
i_z0234_uom = i_z0234. "032383
sort i_z0234_uom by zcsuom. "032383
delete adjacent duplicates from i_z0234_uom comparing zcsuom."32383
clear i_marm_case. " SIR 061880
refresh i_marm_case. " SIR 061880
loop at i_z0234_uom into v_z0234_uom. "LOOP Z0234 032383
*-------------------------------------------------* Begin of SIR 061880
* Get Alternative Unit of Measure for Cases
perform i_marm_case_fill.
endloop. "ENDLOOP Z0234 032383
*---------------------------------------------------* End of SIR 061880
sort i_marm_case by matnr meinh.
else.
v_flag = 'X'.
message i089 with text-i02.
* leave list-processing.
endif. " table LIPS is empty
endform. " get_data
* FORM CREATE_OUTPUT *
* process internal table LIPS, for each delivery/delivery lines create*
* an output record and collect into i_output internal table. Fields *
* used for header are goods issue date, acct assign, BU for customer, *
* total weight, total weight for shipping unit and count of *
* deliveries, the remaining fields will have a value of zero for the *
* collect. For each delivery line, fields used are goods issue date, *
* acct assign, BU for material, number of pallets, number of cases, *
* loose quantity and number of delivery lines. The remaining header *
* fiels will be zero for the collect. *
form create_output.
*-------------------------------------------------* Begin of SIR 061880
sort i_mara1 by matnr.
sort i_lips by vbeln posnr matnr.
sort i_likp by vbeln.
sort i_z0234 by vstel.
sort i_knvv by kunnr.
sort i_kna1 by kunnr.
sort i_vekp by vpobjkey.
sort i_marm_pallet by matnr meinh.
sort i_marm_case by matnr meinh.
* LOOP AT I_LIPS INTO V_LIPS.
loop at i_lips.
clear v_lips.
v_lips = i_lips.
*---------------------------------------------------* End of SIR 061880
at new vbeln.
perform collect_header_data.
endat.
if not v_lips-komkz is initial. " SIR 45567
perform collect_item_data.
endif. " SIR 45567
endloop.
endform. " create_output
* FORM COLLECT_HEADER_DATA *
* Fields used for header are goods issue date, acct assign, *
* BU for customer, total weight, total weight for shipping unit *
* and count ofdeliveries, the remaining fields will have a value of *
* zero for the collect. *
form collect_header_data.
clear: v_likp, v_knvv, v_vekp, v_vekp_sum_brgew.
v_ok = 'Y'.
read table i_likp into v_likp with key vbeln = v_lips-vbeln
binary search.
if sy-subrc = 0. " SIR 061880
clear v_z0234. "(+) SIR 301978
read table i_z0234 into v_z0234 "32383
with key vstel = v_likp-vstel "32383
binary search. "32383
read table i_knvv into v_knvv with key kunnr = v_likp-kunag
binary search.
if sy-subrc ne 0.
select single ktgrd kvgr1 into (v_knvv-ktgrd, v_knvv-kvgr1)
from knvv where kunnr = v_likp-kunag and
vkorg = v_likp-vkorg and
vtweg = '01' and " intercompany values
spart = '01'. " intercompany values
endif.
clear v_kna1. " SIR 34606
read table i_kna1 into v_kna1 " SIR 34606
with key kunnr = v_likp-kunnr " SIR 34606
binary search. " SIR 34606
read table i_vekp into v_vekp
with key vpobjkey(10) = v_likp-vbeln
binary search.
if sy-subrc = 0.
v_vekp_tabix = sy-tabix.
while v_ok = 'Y'.
if v_vekp-gewei_max ne c_uom.
perform z_unit_conversion
using v_vekp-brgew v_vekp-gewei_max c_uom v_palwto.
v_vekp_sum_brgew = v_vekp_sum_brgew + v_palwto.
else.
v_vekp_sum_brgew = v_vekp_sum_brgew + v_vekp-brgew.
endif.
v_vekp_tabix = v_vekp_tabix + 1.
read table i_vekp into v_vekp
index v_vekp_tabix.
if sy-subrc = 0.
if v_vekp-vpobjkey(10) ne v_likp-vbeln.
v_ok = 'N'.
endif.
else.
v_ok = 'N'.
endif.
endwhile.
endif.
endif. " SIR 061880
* populate output tables
clear: v_output_dt, v_output_ag,v_output_gs. " SIR 34606
v_output_dt-wadat_ist = v_likp-wadat_ist.
v_output_dt-ktgrd = v_knvv-ktgrd.
v_output_ag-ktgrd = v_knvv-ktgrd.
v_output_gs-ktgrd = v_knvv-ktgrd. " SIR 34606
*-------------------------------------------------* Begin of SIR 061880
* V_OUTPUT_DT-BU = V_KNVV-KVGR1.
* V_OUTPUT_AG-BU = V_KNVV-KVGR1.
* V_OUTPUT_GS-BU = V_KNVV-KVGR1. " SIR 34606
* Populate Business Unit,Line of Busness and PAC1 Values in Header Data
perform get_busunit_lobus_pac1_data1.
*---------------------------------------------------* End of SIR 061880
v_output_dt-kunnr = v_kna1-kunnr. " SIR 34606
* V_OUTPUT_AG-KUNNR = V_KNA1-KUNNR. " SIR 34606
v_output_dt-land1 = v_kna1-land1. " SIR 34606
v_output_ag-land1 = v_kna1-land1. " SIR 34606
v_output_dt-a_brgew = v_vekp_sum_brgew.
v_output_ag-a_brgew = v_vekp_sum_brgew.
v_output_gs-a_brgew = v_vekp_sum_brgew. " SIR 34606
if s_mbuun[] is initial and " SIR 61880
s_lobus[] is initial and " SIR 61880
s_pac1[] is initial. " SIR 61880
v_output_dt-num_del = 1.
v_output_ag-num_del = 1.
v_output_gs-num_del = 1. " SIR 34606
*-------------------------------------------------* Begin of SIR 061880
* Number of Packages
v_output_dt-packages = v_likp-anzpk.
v_output_ag-packages = v_likp-anzpk.
v_output_gs-packages = v_likp-anzpk.
else.
clear: v_output_dt-num_del,
v_output_ag-num_del,
v_output_gs-num_del,
v_output_dt-packages,
v_output_ag-packages,
v_output_gs-packages.
endif.
*---------------------------------------------------* End of SIR 061880
collect v_output_dt into i_output_dt.
collect v_output_ag into i_output_ag.
collect v_output_gs into i_output_gs. " SIR 34606
endform. " collect_header_data
* FORM COLLECT_ITEM_DATA *
* For each delivery line, fields used are goods issue date, *
* acct assign, BU for material, number of pallets, number of cases, *
* loose quantity and number of delivery lines. The remaining header *
* fiels will be zero for the collect. *
form collect_item_data.
clear: v_pallet_qty, v_pallet_integer,
v_case_qty, v_case_integer,
v_num_pallets, v_num_pallets_int,
v_num_cases, v_num_cases_int,
v_qty_not_pallets, v_total_case_qty, v_loose_qty.
read table i_marm_pallet into v_marm_pallet
with key matnr = v_lips-matnr
meinh = v_z0234-zpaluom binary search."32382
if sy-subrc = 0.
v_pallet_qty = v_marm_pallet-umrez / v_marm_pallet-umren.
* round down partial pallets
v_pallet_integer = v_pallet_qty - '.499'.
endif.
read table i_marm_case into v_marm_case
with key matnr = v_lips-matnr
meinh = v_z0234-zcsuom binary search."32382
if sy-subrc = 0.
v_case_qty = v_marm_case-umrez / v_marm_case-umren.
* round down partial cases
v_case_integer = v_case_qty - '.499'.
endif.
if v_pallet_integer > 0.
v_num_pallets = v_lips-lgmng / v_pallet_integer.
v_num_pallets_int = v_num_pallets - '.499'.
endif.
v_qty_not_pallets = v_lips-lgmng -
( v_num_pallets_int * v_pallet_integer ).
if v_case_integer > 0.
v_num_cases = v_qty_not_pallets / v_case_integer.
v_num_cases_int = v_num_cases - '.499'.
endif.
v_total_case_qty = v_num_cases_int * v_case_integer.
if v_qty_not_pallets = v_total_case_qty.
v_loose_qty = 0.
else.
v_loose_qty = 1.
endif.
* populate output tables
clear: v_output_dt, v_output_ag, v_output_gs. " SIR 34606
v_output_dt-wadat_ist = v_likp-wadat_ist.
v_output_dt-ktgrd = v_knvv-ktgrd.
v_output_ag-ktgrd = v_knvv-ktgrd.
v_output_gs-ktgrd = v_knvv-ktgrd. " SIR 34606
v_output_dt-kunnr = v_kna1-kunnr. " SIR 34606
* V_OUTPUT_AG-KUNNR = V_KNA1-KUNNR. " SIR 34606
v_output_dt-land1 = v_kna1-land1. " SIR 34606
v_output_ag-land1 = v_kna1-land1. " SIR 34606
*-------------------------------------------------* Begin of SIR 061880
* V_OUTPUT_DT-BU = V_LIPS-PRODH+1(2).
* V_OUTPUT_AG-BU = V_LIPS-PRODH+1(2).
* V_OUTPUT_GS-BU = V_LIPS-PRODH+1(2). " SIR 34606
* Populate Business Unit,Line of Business and PAC1 Values for Item Data.
perform get_busunit_lobus_pac1_data2.
if V_OUTPUT_DT-BU is initial.
clear V_OUTPUT_DT.
exit.
endif.
*---------------------------------------------------* End of SIR 061880
* get delivery weight from delivery lines instead of header " SIR 45567
if v_lips-gewei = c_uom.
v_output_dt-d_btgew = v_lips-brgew.
v_output_ag-d_btgew = v_lips-brgew.
v_output_gs-d_btgew = v_lips-brgew. " SIR 34606
else.
perform z_unit_conversion
using v_lips-brgew v_lips-gewei c_uom v_palwto.
v_output_dt-d_btgew = v_palwto.
v_output_ag-d_btgew = v_palwto.
v_output_gs-d_btgew = v_palwto. " SIR 34606
endif.
* Get material weight from delivery (LIPS)(IF P_DELWT = 'X')" SIR 38784
if p_delwt = 'X'. " SIR 38784
if v_lips-gewei = c_uom.
v_output_dt-m_brgew = v_lips-brgew.
v_output_ag-m_brgew = v_lips-brgew.
v_output_gs-m_brgew = v_lips-brgew. " SIR 34606
else.
perform z_unit_conversion
using v_lips-brgew v_lips-gewei c_uom v_palwto.
v_output_dt-m_brgew = v_palwto.
v_output_ag-m_brgew = v_palwto.
v_output_gs-m_brgew = v_palwto. " SIR 34606
endif.
else. " SIR 38784
* Get material weight from Master data (MARA) " SIR 38784
read table i_mara1 into v_mara " SIR 38784
with key matnr = v_lips-matnr " SIR 38784
binary search. " SIR 38784
if v_mara-gewei = c_uom. " SIR 38784
v_output_dt-m_brgew = v_mara-brgew * v_lips-lgmng. " SIR 38784
v_output_ag-m_brgew = v_mara-brgew * v_lips-lgmng. " SIR 38784
v_output_gs-m_brgew = v_mara-brgew * v_lips-lgmng. " SIR 38784
else. " SIR 38784
perform z_unit_conversion " SIR 38784
using v_mara-brgew v_mara-gewei c_uom v_palwto. " SIR 38784
v_output_dt-m_brgew = v_palwto * v_lips-lgmng. " SIR 38784
v_output_ag-m_brgew = v_palwto * v_lips-lgmng. " SIR 38784
v_output_gs-m_brgew = v_palwto * v_lips-lgmng. " SIR 38784
endif. " SIR 38784
endif. " SIR 38784
*-------------------------------------------------* Begin of SIR 061880
* To Get the Volume Data.
perform get_volume_data.
*---------------------------------------------------* End of SIR 061880
v_output_dt-num_pallets = v_num_pallets_int.
v_output_ag-num_pallets = v_num_pallets_int.
v_output_gs-num_pallets = v_num_pallets_int. " SIR 34606
v_output_dt-num_cases = v_num_cases_int.
v_output_ag-num_cases = v_num_cases_int.
v_output_gs-num_cases = v_num_cases_int. " SIR 34606
v_output_dt-num_loose = v_loose_qty.
v_output_ag-num_loose = v_loose_qty.
v_output_gs-num_loose = v_loose_qty. " SIR 34606
*{ INSERT D11K901833 1
* Sir 054042/48712 insert code to put in 0 instead of 1 for collect
* value for delivery lines
if v_lips-lgmng = 0.
v_output_dt-num_delln = 0.
v_output_ag-num_delln = 0.
v_output_gs-num_delln = 0.
else.
* end of insert for 054042/48712
*} INSERT
v_output_dt-num_delln = 1.
v_output_ag-num_delln = 1.
v_output_gs-num_delln = 1.Since this is your first post, let me clue you in. This forum is meant for asking very short and specific questions. For example, if you've asked, how could you improve a particular one SELECT statement, I'm sure many people would have helped you.
But you cannot seriously expect someone on this forum to spend his/her time and review such a long program. For this people are normally getting paid, you know. -
For all entries against Ranges
Hi,
I have a question regarding a Select query where I have to select some data and then store it in table and refer it for the 2nd Select.
eg: Select from table 1
into itab1.
select from table 2
into itab2
for all entries in itab1.
My question is should I use a Range for the 1st select instead of an itab.The itab1 will be containing max 50 records.
The problem with for all entries is that I cannot use 'UP TO ROWS' as it only deletes extra entries at application level and not database level. I will be selecting 1000 rows even if I want only 100 rows.
Please let me know ur viewsFrom a performance perspective ranges perform better than FOR ALL ENTRIES however the number of records you can use in your range is limited. You will get a run time dump if your range size increases beyond the allowable. If you are very confident that you have not more than 50 entries in your range, I would recommend that you use the range instead of FOR ALL ENTRIES.
An even better option would be to use a join of two tables. If you can provide specifics I could help you further. -
New Airport Extreme performing same as previous model..
Reading about the improved wireless range/performance on the newest airport extreme (MC340LL/A, A1354), I just picked one up hoping I could improve on my older one (MB763LLA, A1301).
Sadly, it seemes to be performing either equally or slightly worse!
I used istumbler to test the signal strength in a bunch of locations, and each airport extreme was set to the same 2.4 and 5ghz channels.
The firmware for each unit is current, as is that of the mbp I used to test...
Any thoughts? I guess the new extreme isn't worse keeping?It may be of small (no) consolation for you to know that I get a better signal from non-Apple 'g' series units that are a good deal further away from my computer than I do the new Extreme. In answer to your question (probably rhetorical) about keeping it - after lots of fruitless Apple tech-support advice and a replaced unit, I can only suggest not.
-
Can someone point me to where I can download the right driver(s) / updates that fix thw Windows 8.1 mess that crippled video playback in the Modern/Metro Win8 interface please?
I had other issues with wireless (which I fixed by buying a Linsys 802.11ac USB nub - finally decent range & performance), but really want to get this Win 8.1 video playback issue fixed.
OS is Windows 8.1
Version 6.3.9600 Build 9600
System Model 20175
System SKU Lenovo_MT_20175
BIOS Version/Date Lenovo 66N55WW 2/28/2013
BIOS Mode UEFI
HD Graphics 4000 Driver date 10/1/2013
Driver Version 10.18.10.3316
Monitor driver is generic PnP Monitor by Microsoft, dated 6/21/2006
Driver Version 6.3.9600.16384
Purchased the system May, 2013.
Very disappointed that Microsoft/Intel/Lenovo forced this 8.1 "upgrade" on us without having checked it for flaws in operation like this. I've read other people having this, and similar problems, so any fixes / suggestions / links are greatly welcomed.(Note that all of the following applies only to the Yoga 13)
I think the previous reply is inaccurate in several ways. Let me address each one:
"Seems like the fix for many of our Windows 8.1 update issues is to roll back to the Windows 8 drivers Lenovo offers on its site (Conexant Audio Driver in this case)"
This isn't quite correct. There is no need to "roll back" to any previous driver versions. What actually happened with the Windows 8.1 upgrade is that the Windows installation process reinstalled or refreshed all of the drivers in the system, and for some reason this driver installation process screwed up and left some drivers not functioning correctly. In almost all cases the solution is to simply reinstall that driver with the current/same version. The Conexant driver is the poster child for this problem. The version of the driver that comes with the Windows 8.1 upgrade is the same as the version on the Lenovo site. However it is often necessary to reinstall this driver to get it installed correctly.
I just want to reiterate that this is not a version problem, it's a problem with the way 8.1 reinstalled the drivers. This need to reinstall drivers affected people differently, with some people needing to reinstall other drivers as well, such as the Intel Thermal Framework drivers, etc.
Windows 8.1 comes with newer versions (also newer than the reposted drivers on the Lenovo site) of the network Wifi drivers that for my system have been an improvement. However I have not experienced a lot of the Wifi issues that others have reported. The only issue I have had with Wifi is that it was always a bit slow to connect after coming out of sleep mode (30-60 seconds). After the 8.1 upgrade my Wifi connects very fast (less than 5 seconds).
Windows 8.1 also came with an updated Intel graphics driver that is newer than the one on the Lenovo site. I am not aware of any problems with this new version.
My Yoga 13 is now functioning perfectly after the 8.1 update, although I did have to perform the reinstall of the Conexant drivers, and I had to reapply the fix for the touch screen missing the first swipe. I recommend the list of Yoga 13 fixes mentioned on this site.
"Microsoft or Lenovo should add a setting to the "Configure Windows Update" options - it should be "Wait 6 months after the update is published for it to stabilize"
I don't agree with this as the drivers that come with 8.1 weren't unstable or problematic. Again, the problem is with the 8.1 installation process, and I do agree that Microsoft should work on fixing that. It has certainly caused a lot of people some grief, but it also seems that we have a solution which is the driver reinstalls.
I also don't recommend turning off Windows update.
Finally, it may be that some of the issues you bulleted are more serious than I am aware, as I haven't had all of these problems. I would like to know more about these:
"Kill the video / audio in Windows Apps (aka "Modern" interface) - Netflix, ESPN videos, CNN videos, etc. "
This is certainly a common problem. At least we have the fix for this (reinstall the Conexant drivers).
"Degrade WLAN performance (range and speed)"
I am skeptical that 8.1 is responsible for Wifi issues. Seems like in general the new 8.1 network stack is better. I know that many people had wifi issues prior to the update.
"Fuzz out the resolution / display such that Display has to be turned down from 150% to "small""
I don't know about this issue, so I would like to hear more.
Mess up touchpad, keyboard, tablet-mode keyboard
This again seems more like a problem that existed before 8.1, as many people had issues with this. The most consistent solution seems to be disabling the "ymc" service.
lmader -
The Airport extreme vs vingor2750vn, which is better?
I want to buy a Airport extreme,
But is it better than the vingor2750Vn,
because my internet is really slow.
Maybe if I get the Airport router from apple
my internet will inprove.
But I am not sure if it will helpIt is basically the same.. range, performance of wireless and router should be identical or very near to.
See the review here which compares them.
http://www.anandtech.com/show/4577/airport-extreme-5th-gen-and-time-capsule-4th- gen-review-faster-wifi-/4
The advantage of the TC is time machine.. Airport extreme might work for TM but apple do not support it and lots of people have issues with it.
But if you are not going to use Time Machine with the TC then there are cheaper and better options.. especially for windows. -
Convert data to MSWORD, MSEXCEL or PDF
Hi,
I have a requirement of sending SAP std report output as an attachment via email. I am thinking of using SUBMIT TO MEMORY or SPOOL and then get the data from there and convert and send as file attachment using SO_DOCUMENT_SEND_API1 or class CL_BCS. The file is required to be sent as MSWORD or MSEXCEL or PDF which can be decided by having a parameter on selection screen..
But I am not sure on how to convert data after retrieving it back from Memory or spool. There are a few function modules to convert. Can anyone give me the names please in each case like
For Spool to PDF function CONVERT_ABAPSPOOLJOB_2_PDF can be used
For Spool to Excel ?
For Spool to Word ?
For memory to PDF ?
For memory to Word ?
For memory to Excel ?
Regards,
VinHi,
I just had the same reuirement and i did it few days back . here is the code ...juz modify it accordingly.
The program will send my ABAP report as a PDF attachment to the USER>
REPORT ZRMM0055 NO STANDARD PAGE HEADING
MESSAGE-ID ZZ
LINE-SIZE 255
LINE-COUNT 65.
TABLES DECLARATION *
TABLES : MARD, " Storage Location Data for Material
MARC, " Plant Data for Material
MSEG,
SSCRFIELDS. " Fields on selection screens
Internal Tables declaration. *
*---Internal Table to hold the MARD table data
DATA : BEGIN OF IT_MARD OCCURS 0,
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
LMINB LIKE MARD-LMINB, " Reorder Point
LABST LIKE MARD-LABST, " Stock at storage loc
END OF IT_MARD.
*---Internal table to hold data from MSEG, MKPF, MAKT
DATA : BEGIN OF IT_MSEG OCCURS 0,
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
MENGE LIKE MSEG-MENGE, " Quantity
MEINS LIKE MSEG-MEINS, " UOM
LIFNR LIKE MSEG-LIFNR, " Account Number of Vendor
SHKZG LIKE MSEG-SHKZG, " Credit/Debit Indicator
EBELN LIKE EKPO-EBELN,
MENGE1 LIKE EKPO-MENGE, " Open PO qty
EINDT LIKE EKET-EINDT,
DISPO LIKE MARC-DISPO, " MRP controller
EKGRP LIKE MARC-EKGRP, " Purchasing Group
MAKTX LIKE MAKT-MAKTX,
END OF IT_MSEG.
*----Internal table to hold the data from EKPO and EKET table
DATA : BEGIN OF IT_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN, " PO document
EBELP LIKE EKPO-EBELP, " Item
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
MENGE LIKE EKPO-MENGE, " Quantity
EINDT LIKE EKET-EINDT, " Delivery Date
END OF IT_EKPO.
*--Internal Table to hold the final data
DATA : BEGIN OF IT_FINAL OCCURS 0,
MATNR LIKE MARD-MATNR, " Material Number
MAKTX LIKE MAKT-MAKTX, " Material Description
LMINB LIKE MARD-LMINB, " Reorder Point
MEINS LIKE MSEG-MEINS, " UOM
LABST LIKE MARD-LABST, " On hand inventory at storageloc
TOT_LABST LIKE MARD-LABST, " Total On hand at plant
ISSUE LIKE MSEG-MENGE, " YTD issue
RECEIPT LIKE MSEG-MENGE, " YTD receipts
DISPO LIKE MARC-DISPO, " MRP controller
EKGRP LIKE MARC-EKGRP, " Purchasing Group
MENGE LIKE EKPO-MENGE, " Open PO Quantity
EINDT LIKE EKET-EINDT, " Next Delivery Date
LIFNR LIKE MSEG-LIFNR, " Vendor
EBELN LIKE MSEG-EBELN, " PO number
END OF IT_FINAL.
*----Internal table to hold YTD data
DATA : BEGIN OF IT_YTD OCCURS 0,
MENGE LIKE MSEG-MENGE,
MEINS LIKE MSEG-MEINS,
SHKZG LIKE MSEG-SHKZG,
END OF IT_YTD.
DATA : BEGIN OF X_MSEG,
MBLNR LIKE MSEG-MBLNR,
MJAHR LIKE MSEG-MJAHR,
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
MENGE LIKE MSEG-MENGE, " Quantity
MEINS LIKE MSEG-MEINS, " UOM
LIFNR LIKE MSEG-LIFNR, " Account Number of Vendor
SHKZG LIKE MSEG-SHKZG, " Credit/Debit Indicator
EBELN LIKE EKPO-EBELN,
MENGE1 LIKE EKPO-MENGE, " Open PO Qty
EINDT LIKE EKET-EINDT,
DISPO LIKE MARC-DISPO, " MRP controller
EKGRP LIKE MARC-EKGRP, " Purchasing Group
MAKTX LIKE MAKT-MAKTX,
END OF X_MSEG.
DATA: V_LMINB(16) TYPE C,
S_LABST(16) TYPE C,
V_TOT_LABST(16) TYPE C,
S_ISSUE(16) TYPE C,
S_RECEIPT(16) TYPE C,
V_MENGE(16) TYPE C,
V_EINDT(8) TYPE C.
DATA: T_PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
VARIABLES DECLARATION *
DATA : V_SUM TYPE MSEG-MENGE, " Variable for adding GI's to Stock
V_TEMP TYPE MSEG-MENGE, " Variable for adding GI's to Stock
V_TABIX TYPE SY-TABIX, " Loop count
V_ISSUE LIKE MSEG-MENGE, " Variable for calculating YTD issues
V_RECEIPT LIKE MSEG-MENGE, " Var for Calculating YTD Receipts
V_LABST LIKE MARD-LABST, " Var for Total On hand inv at plant
V_MJAHR LIKE MSEG-MJAHR, " Variable for holding the Year
f_color.
*----Declaration to send Email
DATA: IT_PDF LIKE TLINE OCCURS 10 WITH HEADER LINE,
IT_XI_PDF LIKE TLINE OCCURS 0 WITH HEADER LINE,
IT_HTML LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
IT_XI_TEMP LIKE BAPIQCMIME OCCURS 0 WITH HEADER LINE,
IT_XI_MIME(255) TYPE C OCCURS 0 WITH HEADER LINE.
DATA:
LS_DOCDATA TYPE SODOCCHGI1,
LT_OBJPACK TYPE TABLE OF SOPCKLSTI1 WITH HEADER LINE,
LT_OBJHEAD TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
LT_OBJTXT TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
LT_OBJBIN TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
LT_RECLIST TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,
LT_LISTOBJECT TYPE TABLE OF ABAPLIST WITH HEADER LINE,
LT_LISTOBJECTLN(1000) TYPE C,
L_TAB_LINES TYPE I,
L_ATT_TYPE LIKE SOODK-OBJTP.
DATA: IT_OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
Internal table for Single List with Column Length 255
DATA : IT_OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
Internal table for Single List with Column Length 255
DATA : IT_OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
Internal table for Structure of the API Recipient List
DATA : IT_RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
Structure of the API Recipient List
DATA: X_DOC_CHNG LIKE SODOCCHGI1.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
P_WERKS LIKE MARD-WERKS OBLIGATORY. " Plant
SELECT-OPTIONS:
S_BUKRS for mseg-bukrs, " Company code
S_LGORT FOR MARD-LGORT OBLIGATORY, " Storage Location
S_MATNR FOR MARD-MATNR, " Material Number
S_DISPO FOR MARC-DISPO, " MRP Controller
S_DATE FOR SY-DATUM DEFAULT SY-DATUM OBLIGATORY. " Date Range
SELECTION-SCREEN END OF BLOCK S1.
SELECTION-SCREEN BEGIN OF BLOCK S2 WITH FRAME TITLE TEXT-002.
PARAMETERS:
P_MAIL TYPE C AS CHECKBOX. " Mail to user Group
SELECT-OPTIONS:
S_UNAME FOR SY-UNAME NO INTERVALS. " Usergroup id
SELECTION-SCREEN END OF BLOCK S2.
Initialization
INITIALIZATION.
AT S E L E C T I O N - S C R E E N
AT SELECTION-SCREEN.
CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
PERFORM VALIDATE_MAIL.
PERFORM VALIDATE_DATA.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM FETCH_DATA.
END-OF-SELECTION *
END-OF-SELECTION.
IF NOT IT_FINAL[] IS INITIAL.
PERFORM DOWNLOAD_DISPLAY_REPORT.
ENDIF.
TOP-OF-PAGE *
TOP-OF-PAGE.
PERFORM PAGE_HEADER.
*& Form Fetch_DATA
Pick data
FORM FETCH_DATA .
DATA : V_EBELN LIKE EKPO-EBELN,
V_EBELP LIKE EKPO-EBELP,
V_MENGE LIKE EKPO-MENGE,
V_EINDT LIKE EKET-EINDT,
V_DISPO LIKE MARC-DISPO,
V_EKGRP LIKE MARC-EKGRP,
V_MAKTX LIKE MAKT-MAKTX.
*----Select data from MARD Table
SELECT MATNR " Material Number
WERKS " Plant
LGORT " Storage Location
LMINB " Reorder Point Level
LABST " Stock with unrestricted use
INTO TABLE IT_MARD
FROM MARD
WHERE MATNR IN S_MATNR AND
WERKS = P_WERKS . "AND
LGORT IN S_LGORT.
D~LMINB <> SPACE .
IF SY-SUBRC = 0.
LOOP AT IT_MARD.
CLEAR : V_EBELN, V_EBELP, V_MENGE, V_EINDT.
*---select data from EKPO table
SELECT EBELN
EBELP
MENGE
UP TO 1 ROWS
FROM EKPO
INTO (V_EBELN, V_EBELP, V_MENGE)
WHERE MATNR = IT_MARD-MATNR AND
WERKS = IT_MARD-WERKS AND
LGORT = IT_MARD-LGORT AND
BUKRS IN S_BUKRS AND
ELIKZ = SPACE.
ENDSELECT.
IF SY-SUBRC = 0.
X_MSEG-EBELN = V_EBELN.
X_MSEG-MENGE1 = V_MENGE.
SELECT EINDT
UP TO 1 ROWS
FROM EKET
INTO V_EINDT
WHERE EBELN = V_EBELN AND
EBELP = V_EBELP.
ENDSELECT.
IF SY-SUBRC = 0.
X_MSEG-EINDT = V_EINDT.
ENDIF.
ENDIF.
*---Select Data from MARC table.
CLEAR : V_DISPO, V_EKGRP.
SELECT DISPO
EKGRP
UP TO 1 ROWS
FROM MARC
INTO (V_DISPO, V_EKGRP)
WHERE MATNR = IT_MARD-MATNR AND
WERKS = IT_MARD-WERKS AND
DISPO IN S_DISPO.
ENDSELECT.
IF SY-SUBRC = 0.
X_MSEG-DISPO = V_DISPO.
X_MSEG-EKGRP = V_EKGRP.
else.
continue.
ENDIF.
*---select Material Description from MAKT
CLEAR V_MAKTX.
SELECT SINGLE MAKTX
FROM MAKT
INTO V_MAKTX
WHERE MATNR = IT_MARD-MATNR AND
SPRAS = SY-LANGU.
IF SY-SUBRC = 0.
X_MSEG-MAKTX = V_MAKTX.
ENDIF.
*----Select data from MSEG Table
SELECT MBLNR
MJAHR
MATNR " Material Number
WERKS " Plant
LGORT " Storage Location
MENGE " Quantity
MEINS " UOM
LIFNR " Account No of Vendor
SHKZG " Credit/Debit Indicator
FROM MSEG
INTO X_MSEG
WHERE MATNR = IT_MARD-MATNR AND
WERKS = IT_MARD-WERKS AND
LGORT = IT_MARD-LGORT AND
BUKRS IN S_BUKRS.
*---Subroutine to check whether the document is in the given date range
PERFORM CHECK_DATE.
ENDSELECT.
ENDLOOP.
ELSE.
STOP.
ENDIF.
*----Select YTD receipts and Issues to date from MSEG
CLEAR : V_MJAHR, V_ISSUE, V_RECEIPT.
IF S_DATE[] IS NOT INITIAL.
V_MJAHR = S_DATE+3(4).
ELSE.
V_MJAHR = SY-DATUM+0(4).
ENDIF.
SELECT MENGE
MEINS
SHKZG
FROM MSEG
INTO TABLE IT_YTD
WHERE WERKS = P_WERKS AND
MJAHR = V_MJAHR.
*--Calculating YTD receipts and Issues
IF SY-SUBRC = 0.
LOOP AT IT_YTD.
IF IT_YTD-SHKZG = 'S'.
V_ISSUE = V_ISSUE + IT_YTD-MENGE.
ELSE.
V_RECEIPT = V_RECEIPT + IT_YTD-MENGE.
ENDIF.
ENDLOOP.
IT_FINAL-ISSUE = V_ISSUE.
IT_FINAL-RECEIPT = V_RECEIPT.
ENDIF.
*-----Logic for printing the material
LOOP AT IT_MSEG.
V_TABIX = SY-TABIX.
AT NEW MATNR.
*----Logic for calculation of Total On hand inv at plant.
*---Sum of all MARD-LABST.
CLEAR V_LABST.
LOOP AT IT_MARD WHERE MATNR = IT_MSEG-MATNR.
V_LABST = V_LABST + IT_MARD-LABST.
ENDLOOP.
IT_FINAL-TOT_LABST = V_LABST.
ENDAT.
AT NEW LGORT.
CLEAR : V_SUM.
ENDAT.
READ TABLE IT_MARD WITH KEY MATNR = IT_MSEG-MATNR
WERKS = IT_MSEG-WERKS
LGORT = IT_MSEG-LGORT.
IF SY-SUBRC = 0 AND IT_MARD-LMINB > 0.
*---Logic for adding/Subtracting GR/GI
IF V_TABIX = 1.
IF IT_MSEG-SHKZG = 'S'.
V_TEMP = IT_MARD-LABST + IT_MSEG-MENGE.
ELSE.
V_TEMP = IT_MARD-LABST - IT_MSEG-MENGE.
ENDIF.
ENDIF.
IF IT_MARD-LABST < IT_MARD-LMINB. "Stock < Reorder Point
*---Check for any goods receipts on the given day. SHKZG = 'S'
IF IT_MSEG-SHKZG = 'S' .
IF V_TABIX = 1.
V_SUM = V_TEMP.
ELSE.
V_SUM = V_SUM + IT_MSEG-MENGE.
ENDIF.
IF V_SUM < IT_MARD-LMINB.
IT_FINAL-MATNR = IT_MARD-MATNR.
IT_FINAL-MAKTX = IT_MSEG-MAKTX.
IT_FINAL-LMINB = IT_MARD-LMINB.
IT_FINAL-MEINS = IT_MSEG-MEINS.
IT_FINAL-LABST = IT_MARD-LABST.
IT_FINAL-DISPO = IT_MSEG-DISPO.
IT_FINAL-EKGRP = IT_MSEG-EKGRP.
IT_FINAL-LIFNR = IT_MSEG-LIFNR.
IT_FINAL-ISSUE = V_ISSUE.
IT_FINAL-RECEIPT = V_RECEIPT.
IT_FINAL-TOT_LABST = V_LABST.
IT_FINAL-EBELN = IT_MSEG-EBELN.
IT_FINAL-MENGE = IT_MSEG-MENGE1.
IT_FINAL-EINDT = IT_MSEG-EINDT.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ENDIF.
ELSE.
*--- If there is no Goods receipt mov't type on the given day, then
*---add all the goods issues to the storage location stock.
*---Goos Receipt = 'S' , Goods Issue = 'H'.
IF V_TABIX = 1.
V_SUM = V_TEMP.
ELSE.
V_SUM = V_SUM - IT_MSEG-MENGE.
ENDIF.
IF V_SUM < IT_MARD-LMINB.
IT_FINAL-MATNR = IT_MARD-MATNR.
IT_FINAL-MAKTX = IT_MSEG-MAKTX.
IT_FINAL-LMINB = IT_MARD-LMINB.
IT_FINAL-MEINS = IT_MSEG-MEINS.
IT_FINAL-LABST = IT_MARD-LABST.
IT_FINAL-DISPO = IT_MSEG-DISPO.
IT_FINAL-EKGRP = IT_MSEG-EKGRP.
IT_FINAL-LIFNR = IT_MSEG-LIFNR.
IT_FINAL-ISSUE = V_ISSUE.
IT_FINAL-RECEIPT = V_RECEIPT.
IT_FINAL-TOT_LABST = V_LABST.
IT_FINAL-EBELN = IT_MSEG-EBELN.
IT_FINAL-MENGE = IT_MSEG-MENGE1.
IT_FINAL-EINDT = IT_MSEG-EINDT.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " Fetch_DATA
*& Form check_date
text
FORM CHECK_DATE .
DATA: LV_BLDAT LIKE MKPF-BLDAT.
SELECT SINGLE BLDAT
FROM MKPF
INTO LV_BLDAT
WHERE MBLNR = X_MSEG-MBLNR AND
MJAHR = X_MSEG-MJAHR AND
BLDAT IN S_DATE.
IF SY-SUBRC = 0.
MOVE : X_MSEG-MATNR TO IT_MSEG-MATNR,
X_MSEG-WERKS TO IT_MSEG-WERKS,
X_MSEG-LGORT TO IT_MSEG-LGORT,
X_MSEG-MENGE TO IT_MSEG-MENGE,
X_MSEG-MEINS TO IT_MSEG-MEINS,
X_MSEG-LIFNR TO IT_MSEG-LIFNR,
X_MSEG-SHKZG TO IT_MSEG-SHKZG,
X_MSEG-EBELN TO IT_MSEG-EBELN,
X_MSEG-MENGE1 TO IT_MSEG-MENGE1,
X_MSEG-EINDT TO IT_MSEG-EINDT,
X_MSEG-DISPO TO IT_MSEG-DISPO,
X_MSEG-EKGRP TO IT_MSEG-EKGRP,
X_MSEG-MAKTX TO IT_MSEG-MAKTX.
APPEND IT_MSEG.
CLEAR IT_MSEG.
ENDIF.
ENDFORM. " check_date
*& Form PAGE_HEADER
To Print page header and other details
FORM PAGE_HEADER . "#EC CALLED
*---Page header
ULINE AT /1(150).
FORMAT COLOR COL_BACKGROUND INTENSIFIED ON .
WRITE:/ 'Run Date:'(t08), SY-DATUM, 50 'Stanley Works'(t07),
110 'Page No:'(t09), SY-PAGNO LEFT-JUSTIFIED.
WRITE:/ 'Run Time:'(t10), SY-UZEIT, 47 SY-TITLE, 110 SY-UNAME.
WRITE:/ 'Source :'(t11), SY-SYSID, 110 SY-CPROG .
ULINE AT /1(150).
WRITE :/1 'Safety Stock Report for Plant :'(t13),P_WERKS.
ENDFORM. "PAGE_HEADER
*& Form VALIDATE_DATA
Subroutine to Validate selection screen data
FORM VALIDATE_DATA .
DATA V_TEMP(20) TYPE C. "#EC NEEDED
*--Validation for Plant.
CLEAR V_TEMP.
SELECT SINGLE WERKS
INTO V_TEMP
FROM T001W
WHERE WERKS = P_WERKS.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid Plant'(t03). "#EC *
ENDIF.
*--Validation for Storage Location.
CLEAR V_TEMP.
IF NOT S_LGORT[] IS INITIAL.
SELECT LGORT INTO V_TEMP UP TO 1 ROWS
FROM T001L
WHERE LGORT IN S_LGORT.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid Storage Location'(t04).
ENDIF.
ENDIF.
*--Validation for Material Number.
CLEAR V_TEMP.
IF NOT S_MATNR[] IS INITIAL.
SELECT MATNR
INTO V_TEMP
UP TO 1 ROWS
FROM MARA
WHERE MATNR IN S_MATNR.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid Material Number'(t05).
ENDIF.
ENDIF.
*--Validation for MRP controller.
CLEAR V_TEMP.
IF NOT S_DISPO[] IS INITIAL.
SELECT DISPO INTO V_TEMP UP TO 1 ROWS
FROM T024D
WHERE DISPO IN S_DISPO.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid MRP Controller'(t06).
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_DATA
*& Form validate_mail
Validate user id
FORM VALIDATE_MAIL .
IF P_MAIL = 'X' AND S_UNAME[] IS INITIAL.
MESSAGE E001(ZZ) WITH 'Enter User Mail id'(t01).
ENDIF.
ENDFORM. " validate_mail
*& Form SEND_MAIL
Send email to SAP inbox
FORM SEND_MAIL .
Structures and internal tables for the send data
DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE,
OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE,
OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE,
RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
DATA: DOC_CHNG LIKE SODOCCHGI1,
TAB_LINES LIKE SY-TABIX.
Data for the status output after sending
DATA: SENT_TO_ALL LIKE SONV-FLAG.
CLEAR: IT_RECLIST, IT_RECLIST[],
IT_OBJTXT , IT_OBJTXT[],
IT_OBJPACK, IT_OBJPACK[],
IT_OBJBIN , IT_OBJBIN[],X_DOC_CHNG.
LOOP AT IT_HTML.
OBJBIN-LINE = IT_HTML-LINE.
APPEND OBJBIN.
CLEAR OBJBIN.
ENDLOOP.
Create the document which is to be sent
DOC_CHNG-OBJ_NAME = 'List'(012).
DOC_CHNG-OBJ_DESCR = 'Mail'(m05).
Heading
OBJTXT-LINE = 'Safety Stock Report attached'(014).
APPEND OBJTXT.
CLEAR OBJTXT.
Size
DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
Fill the fields of the packing_list for the main document:
CLEAR OBJPACK-TRANSF_BIN.
The document needs no header (head_num = 0)
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
Body
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'RAW'(m02).
APPEND OBJPACK.
Create the attachment (the list itself)
DESCRIBE TABLE OBJBIN LINES TAB_LINES.
Fill the fields of the packing_list for the attachment:
OBJPACK-TRANSF_BIN = 'X'.
Header
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
Body
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'(m01).
OBJPACK-OBJ_NAME = 'Attachment'(m03).
OBJPACK-OBJ_DESCR = 'Mail with pdf Attachment'(018).
OBJPACK-DOC_SIZE = TAB_LINES * 255.
APPEND OBJPACK.
*-Fill the mail recipient list
LOOP AT S_UNAME.
RECLIST-RECEIVER = S_UNAME-LOW.
RECLIST-REC_TYPE = 'B'.
APPEND RECLIST.
CLEAR: RECLIST.
ENDLOOP.
*-Send the document by calling the SAPoffice API1 module for sending
*-documents with attachments
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
IMPORTING
SENT_TO_ALL = SENT_TO_ALL
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
CASE SY-SUBRC .
WHEN 0.
MESSAGE s001 WITH 'Mail has been sent successfully'(003).
WHEN OTHERS.
MESSAGE s001 WITH 'Problem in sending the mail'(004).
ENDCASE.
ENDFORM. " SEND_MAIL
*& Form download_display_report
Download and dispaly report
FORM DOWNLOAD_DISPLAY_REPORT .
DATA: X_PARAMS TYPE PRI_PARAMS,
V_VALID.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
IMMEDIATELY = ' '
LAYOUT = 'X_65_255'
NO_DIALOG = 'X'
IMPORTING
OUT_PARAMETERS = X_PARAMS
VALID = V_VALID.
IF V_VALID <> SPACE.
NEW-PAGE PRINT ON PARAMETERS X_PARAMS NO DIALOG.
PERFORM DISPLAY_REPORT.
NEW-PAGE PRINT OFF.
PERFORM CONV_TO_PDF_DOWNLOAD.
ENDIF.
PERFORM DISPLAY_REPORT.
ENDFORM. " download_display_report
*& Form DISPLAY_REPORT
Display the report
FORM DISPLAY_REPORT .
ULINE AT /0(204).
write:/1 sy-vline no-gap, (10)'Material'(032),
sy-vline no-gap, (40)'Description'(031),
sy-vline no-gap, (15)'Reorder pt'(030),
sy-vline no-gap, (03)'BUn'(029),
sy-vline no-gap, (13)'OnHandQty'(023),
sy-vline no-gap, (13)'OnHandPlnt'(024),
sy-vline no-gap, (13)'YTD issues'(025),
sy-vline no-gap, (13)'YTD Receipts'(026),
sy-vline no-gap, (08)'MRPcntrl'(027),
sy-vline no-gap, (04)'POgrp'(028),
sy-vline no-gap, (13)'POqty'(019),
sy-vline no-gap, (10)'NextDelvDt'(020),
sy-vline no-gap, (10)'Vendor'(021),
sy-vline no-gap, (10)'PO#'(022),
sy-vline no-gap.
ULINE AT /0(204).
loop at it_final.
PERFORM COLOR_SWAP.
write:/1 sy-vline no-gap, (10)it_final-matnr,
sy-vline no-gap, (40)it_final-maktx,
sy-vline no-gap, (15)it_final-lminb, "#EC UOM_IN_MES
sy-vline no-gap, (03)it_final-meins,
sy-vline no-gap, (13)it_final-labst, "#EC UOM_IN_MES
sy-vline no-gap, (13)it_final-tot_labst, "#EC UOM_IN_MES
sy-vline no-gap, (13)it_final-issue, "#EC UOM_IN_MES
sy-vline no-gap, (13)it_final-receipt, "#EC UOM_IN_MES
sy-vline no-gap, (08)it_final-dispo,
sy-vline no-gap, (04)it_final-ekgrp,
sy-vline no-gap, (13)it_final-menge, "#EC UOM_IN_MES
sy-vline no-gap, (10)it_final-eindt,
sy-vline no-gap, (10)it_final-lifnr,
sy-vline no-gap, (10)it_final-ebeln,
sy-vline no-gap.
endloop.
ULINE AT /0(204).
skip 2.
WRITE:/ '******End of Report*******'.
ENDFORM. " DISPLAY_REPORT
*& Form CONV_TO_PDF_DOWNLOAD
Convert to PDF
FORM CONV_TO_PDF_DOWNLOAD .
DATA: V_NUMBYTES TYPE I,
V_SPOOLNO TYPE TSP01-RQIDENT.
CLEAR IT_PDF.
REFRESH IT_PDF.
WAIT UP TO 2 SECONDS.
V_SPOOLNO = SY-SPONO.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = V_SPOOLNO
NO_DIALOG = ' '
IMPORTING
PDF_BYTECOUNT = V_NUMBYTES
TABLES
PDF = IT_PDF.
IF SY-SUBRC = 0. "#EC *
PERFORM PAGE_FORMAT.
ENDIF.
ENDFORM. " CONV_TO_PDF_DOWNLOAD
*& Form page_format
Format the page
FORM PAGE_FORMAT .
DATA : L_LINES TYPE I,
L_TEMP(500) TYPE C,
L_OFFSET TYPE P,
L_LINESLEN(2) TYPE P,
L_MIMELEN(2) TYPE P,
L_TABIX LIKE SY-TABIX.
CLEAR : IT_XI_PDF,
IT_XI_TEMP.
REFRESH : IT_XI_PDF,
IT_XI_TEMP.
IT_XI_PDF[] = IT_PDF[].
Reformat the line to 255 characters wide (code from SAP)
CLEAR: L_TEMP, L_OFFSET, IT_XI_TEMP.
DESCRIBE TABLE IT_XI_PDF LINES L_LINES.
DESCRIBE FIELD IT_XI_PDF LENGTH L_LINESLEN IN CHARACTER MODE.
DESCRIBE FIELD IT_XI_TEMP LENGTH L_MIMELEN IN CHARACTER MODE.
LOOP AT IT_XI_PDF.
L_TABIX = SY-TABIX.
MOVE IT_XI_PDF TO L_TEMP+L_OFFSET.
IF L_TABIX = L_LINES.
L_LINESLEN = STRLEN( IT_XI_PDF ).
ENDIF.
L_OFFSET = L_OFFSET + L_LINESLEN.
IF L_OFFSET GE L_MIMELEN.
CLEAR IT_XI_TEMP.
IT_XI_TEMP = L_TEMP(L_MIMELEN).
APPEND IT_XI_TEMP.
SHIFT L_TEMP BY L_MIMELEN PLACES.
L_OFFSET = L_OFFSET - L_MIMELEN.
ENDIF.
IF L_TABIX = L_LINES.
IF L_OFFSET GT 0.
CLEAR IT_XI_TEMP.
IT_XI_TEMP = L_TEMP(L_OFFSET).
APPEND IT_XI_TEMP.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR : IT_XI_MIME,
IT_XI_MIME[].
LOOP AT IT_XI_TEMP.
IT_XI_MIME(255) = IT_XI_TEMP-LINE.
APPEND IT_XI_MIME.
CLEAR IT_XI_MIME.
ENDLOOP.
Final Data
CLEAR : IT_HTML,
IT_HTML[].
IT_HTML[] = IT_XI_MIME[].
For sending mail
PERFORM SEND_MAIL .
ENDFORM. " page_format
Form : color_swap
Description : Subroutine for color
form color_swap.
if flag is set
if f_color eq 'X'.
clear f_color.
switch off the intensity
format color col_normal intensified off.
else.
if flag is not set.
f_color = 'X'.
switch on the intensity
format color col_normal intensified on.
endif.
endform. " color_swap -
hi
at the time of register updation system is giving one message (lower the darte range performance will get effected.)
all entries entered in register is correct it is warning message.hi,
it is showing red sign because of n no of reasons
it might be due to PART1 entry is not having enough qty.
might be ur selection wrong .
try to check the LOG given by SAP
regards,
sujit -
Hi All,
I want to devlop a sales report,
please can any one explain me how to write select and go ahead
the requiremnet is like this
Based on selection criteria
Sales organisation (VBRK-VKORG),
Distribution channel (VBRK-VTWEG),
Division (VBRK_SPART),
Billing date(VBRK-ERDAT),
Customer (VBRK-KUNAG),
plant (VBRP-WERKS), and
Material Group1(VBRP-MVGR1).
Check if VBRK-FKSTO # X, VBRK-RFBSK = C, VBRK-FKART #S1 and S2, take all VBRK-VBELNs (Print in Invoice number ).
VBRK-ERDAT(Print in Invoice Date).
Pass VBRK-VBELN to VBRP-VBELN and check for every VBRP-MVGR1 pass VBRP-POSNR to KONV-KPOSN and
For KONV-KSCHL =ZPTS sum all KONV-KWERT and display(PTS value).
For KONV-KSCHL =YNRV sum all KONV-KWERT and display(NRV Value).
thanks in advacne
points will be rewarded if it is use full
jayHi,
Refer this code.
REPORT z_daily_sales
NO STANDARD PAGE HEADING
MESSAGE-ID sabapdocu.
TABLES *
TABLES : vbak, "Sales Document: Header Data
tfacs, "Factory calendar (display)
vbrk, "Billing: Header Data
vbrp, "Billing: Item Data
vbpa, "Sales Document: Partner
lips, "SD doc: Delivery: Item data
mkpf, "Header: Material Document
mseg, "Document Segment: Material
konv. "Conditions (Trans Data)
CONSTANTS *
CONSTANTS : c_top_of_page(15) TYPE c VALUE 'SUB_TOP_OF_PAGE'.
TYPE-POOL *
TYPE-POOLS : slis. "Global types for generic cunning building blocks
VARIABLES *
DATA : v_repid TYPE sy-repid, "Report ID
v_month(2) TYPE c, "Variable for Month
v_year(4) TYPE c, "Variable for year
v_days(31) TYPE c, "Variable for days
v_ship(10) TYPE c VALUE 0, "Variable for total days
v_jan(31) TYPE c, "Variable for month
v_count(2) TYPE c VALUE 0, "Variable for count
v_wdays(2) TYPE c VALUE 0, "Variable for working days
v_ndays(2) TYPE c VALUE 0, "Variable for non work days
v_tdays(2) TYPE c VALUE 0, "Variable for total days
v_oltot TYPE i VALUE 0, "Variable for order total
v_sotot TYPE i VALUE 0, "Variable for special order
v_corebus TYPE kzwi2 VALUE 0, "Variable for core bus
v_onbulk TYPE kzwi2 VALUE 0, "Variable for bulk orders
v_premier TYPE kzwi2 VALUE 0, "Variable for premier prog
v_shipit TYPE kzwi2 VALUE 0, "Variable for ship it prog
v_onpromo TYPE kzwi2 VALUE 0, "Variable for on promo
v_netrev TYPE kzwi2 VALUE 0, "Variable for net rev
v_storev TYPE kzwi2 VALUE 0, "Variable for store rev
v_connet TYPE kzwi2 VALUE 0, "Variable for consignment
v_sporder TYPE kzwi2 VALUE 0, "Variable for special order
v_stdvd TYPE kzwi2 VALUE 0, "Variable for dvd
v_totrev TYPE kzwi2 VALUE 0, "Variable for total rev
v_totbud TYPE kzwi2 VALUE 0, "Variable for total budget
v_ordsize TYPE kzwi2 VALUE 0. "Variable for order size
TYPES *
*--Structure for VBRP Table
TYPES : BEGIN OF t_vbrp,
vbeln TYPE vbeln, "Billing document
fkdat TYPE fkdat, "Billing date
fktyp TYPE fktyp, "Billing category
fkart TYPE fkart, "Billing type
vtweg TYPE vtweg, "Distribution channel
knumv TYPE knumv, "Number of doc condition
posnr TYPE posnr, "Billing item
matnr TYPE matnr, "Material Number
werks TYPE werks_d, "Plant
vgbel TYPE xblnr, "Referance
vgbel1 TYPE vgbel, "Doc no reference document
kzwi2 TYPE kzwi2, "Subtotal 2
wavwr TYPE wavwr, "Cost in document currency
kunnr TYPE kunnr, "Customer
END OF t_vbrp,
*--Structure for MKPF Table
BEGIN OF t_mkpf,
fkdat TYPE fkdat, "Billing date
mblnr TYPE mblnr, "Number of material document
mjahr TYPE mjahr, "Material doc. year
xblnr TYPE xblnr, "Referance
kunnr TYPE kunnr, "Customer
END OF t_mkpf,
*--Structure for MSEG Table
BEGIN OF t_mseg,
fkdat TYPE fkdat, "Billing date
mblnr TYPE mblnr, "Number of material document
mjahr TYPE mjahr, "Material doc. year
bwart TYPE bwart, "Movement type
sobkz TYPE sobkz, "Special Stock indicator
dmbtr TYPE dmbtr, "Amount in local currency
kunnr TYPE kunnr, "Customer
matnr TYPE matnr, "Material Number
werks TYPE werks_d, "Plant
END OF t_mseg,
*--Structure for LIPS Table
BEGIN OF t_lips,
vbeln TYPE vbeln_vl, "Delivery
fkdat TYPE fkdat, "Billing date
knumv TYPE knumv, "Number of doc condition
matnr TYPE matnr, "Material Number
werks TYPE werks_d, "Plant
bwart TYPE bwart, "Movement type
kzwi2 TYPE kzwi2, "Subtotal 2
lfimg TYPE lfimg, "Quantity
END OF t_lips,
*--Structure for VBAK Table
BEGIN OF t_vbak,
erdat TYPE erdat, "Created On
vbeln TYPE vbeln_va, "Delivery
auart TYPE auart, "Sales document type
vtweg TYPE vtweg, "Distribution channel
knumv TYPE knumv, "Number of doc condition
END OF t_vbak,
*--Structure for KONV Table
BEGIN OF t_konv,
knumv TYPE knumv, "Number of doc condition
kschl TYPE kscha, "Condition type
kbetr TYPE kbetr, "Rate
END OF t_konv,
*--Structure for DUMMY Table
BEGIN OF t_dummy,
fkdat TYPE fkdat, "Billing date
matnr TYPE matnr, "Material Number
bwart TYPE bwart, "Movement type
kbetr TYPE kzwi2, "Net value of billing item
END OF t_dummy,
*--Structure for NDAY table
BEGIN OF t_nday,
erdat TYPE erdat, "Created On
flag(1) TYPE c, "Flag
END OF t_nday,
*--Structure for TFACS Table
BEGIN OF t_tfacs,
ident TYPE wfcid, "Factory calendar ID
jahr TYPE kjahr, "Fiscal Year
mon01 TYPE mon00, "Calendar: Days in a month
mon02 TYPE mon00, "Calendar: Days in a month
mon03 TYPE mon00, "Calendar: Days in a month
mon04 TYPE mon00, "Calendar: Days in a month
mon05 TYPE mon00, "Calendar: Days in a month
mon06 TYPE mon00, "Calendar: Days in a month
mon07 TYPE mon00, "Calendar: Days in a month
mon08 TYPE mon00, "Calendar: Days in a month
mon09 TYPE mon00, "Calendar: Days in a month
mon10 TYPE mon00, "Calendar: Days in a month
mon11 TYPE mon00, "Calendar: Days in a month
mon12 TYPE mon00, "Calendar: Days in a month
END OF t_tfacs,
*--Structure for shipping days table.
BEGIN OF t_ship,
title(35) TYPE c, "Title
days(10) TYPE c, "Days
END OF t_ship,
*--Structure for Final Table
BEGIN OF t_final,
erdat TYPE erdat, "Date
oltot TYPE i, "Online Order total
sotot TYPE i, "Special Order Total
corebus TYPE kzwi2, "ECS Online Promo Rev
onbulk TYPE kzwi2, "ECS online Bulk Orders
premier TYPE kzwi2, "MSFT Premier Program
shipit TYPE kzwi2, "MSFT online shipit program
onpromo TYPE kzwi2, "MSFT online promo rev
netrev TYPE kzwi2, "MSFT/Xbox Consignment
storev TYPE kzwi2, "MSFT Retail Store promo rev
connet TYPE kzwi2, "MSFT Retail Consign net rev
sporder TYPE kzwi2, "Special order revenue
stdvd TYPE kzwi2, "Traveling Store/DVD
totrev TYPE kzwi2, "Total ECS Revenue
totbud TYPE kzwi2, "Total ECS Budget
ordsize TYPE kzwi2, "Avg online order size
END OF t_final,
*--Structure for Total Table
BEGIN OF t_total,
title(10) TYPE c, "Date
oltot TYPE i, "Online Order total
sotot TYPE i, "Special Order Total
corebus TYPE kzwi2, "ECS Online Promo Rev
onbulk TYPE kzwi2, "ECS online Bulk Orders
premier TYPE kzwi2, "MSFT Premier Program
shipit TYPE kzwi2, "MSFT online shipit program
onpromo TYPE kzwi2, "MSFT online promo rev
netrev TYPE kzwi2, "MSFT/Xbox Consignment
storev TYPE kzwi2, "MSFT Retail Store promo rev
connet TYPE kzwi2, "MSFT Retail Consign net rev
sporder TYPE kzwi2, "Special order revenue
stdvd TYPE kzwi2, "Traveling Store/DVD
totrev TYPE kzwi2, "Total ECS Revenue
totbud TYPE kzwi2, "Total ECS Budget
ordsize TYPE kzwi2, "Avg online order size
END OF t_total,
*--Structure for MKPF Table
BEGIN OF t_jkmkpf,
budat TYPE budat, "Posting date
mblnr TYPE mblnr, "Number of material document
mjahr TYPE mjahr, "Material doc. year
END OF t_jkmkpf,
*--Structure for MSEG Table
BEGIN OF t_jkmseg,
fkdat TYPE fkdat, "Billing date
matnr TYPE matnr, "Material Number
mblnr TYPE mblnr, "Number of material document
mjahr TYPE mjahr, "Material doc. year
bwart TYPE bwart, "Movement type
menge TYPE menge_d, "Quantity
kbetr TYPE kbetr_kond, "Rate
dmbtr TYPE dmbtr, "Amount in local currency
END OF t_jkmseg,
*--Structure for A006 Table
BEGIN OF t_a006,
fkdat TYPE fkdat, "Billing date
matnr TYPE matnr, "Material Number
kappl TYPE kappl, "Application
kschl TYPE kschl, "Condition type
vkorg TYPE vkorg, "Sales organization
vtweg TYPE vtweg, "Distribution channel
datbi TYPE kodatbi, "Validity end date
datab TYPE kodatab, "Validity start date
knumh TYPE knumh, "Condition record number
END OF t_a006,
*--Structure for KONP Table
BEGIN OF t_konp,
fkdat TYPE fkdat, "Billing date
matnr TYPE matnr, "Material Number
knumh TYPE knumh, "Condition record number
kappl TYPE kappl, "Application
kschl TYPE kschl, "Condition type
kbetr TYPE kbetr_kond, "Rate
END OF t_konp.
WORK AREAS *
DATA : wa_vbrp TYPE t_vbrp, "Work area for VBRP Table
wa_mkpf TYPE t_mkpf, "Work area for MKPF Table
wa_mseg TYPE t_mseg, "Work area for MSEG Table
wa_jkmkpf TYPE t_jkmkpf, "Work area for MKPF Table
wa_jkmseg TYPE t_jkmseg, "Work area for MSEG Table
wa_kjmseg TYPE t_jkmseg, "Work area for MSEG Table
wa_lips TYPE t_lips, "Work area for LIPS Table
wa_vbak TYPE t_vbak, "Work area for VBAK Table
wa_konv TYPE t_konv, "Work area for KONV Table
wa_dummy TYPE t_dummy, "Work area for DUMMY Table
wa_tfacs TYPE t_tfacs, "Work area for TFACS Table
wa_final TYPE t_final, "Work area for Final Table
wa_total TYPE t_total, "Work area for Total Table
wa_ship TYPE t_ship, "Work area for Ship Table
wa_a006 TYPE t_a006,
wa_konp TYPE t_konp, "Work area for KONP Table
wa_nday TYPE t_nday,
wa_fieldcat TYPE slis_fieldcat_alv,"Work area for fieldcatalog
wa_layout1 TYPE slis_layout_alv,
wa_layout2 TYPE slis_layout_alv,
wa_layout3 TYPE slis_layout_alv.
INTERNAL TABLES *
DATA : it_vbrp TYPE STANDARD TABLE OF t_vbrp INITIAL SIZE 0,
it_mkpf TYPE STANDARD TABLE OF t_mkpf INITIAL SIZE 0,
it_mseg TYPE STANDARD TABLE OF t_mseg INITIAL SIZE 0,
it_jkmkpf TYPE STANDARD TABLE OF t_jkmkpf INITIAL SIZE 0,
it_jkmseg TYPE STANDARD TABLE OF t_jkmseg INITIAL SIZE 0,
it_kjmseg TYPE STANDARD TABLE OF t_jkmseg INITIAL SIZE 0,
it_lips TYPE STANDARD TABLE OF t_lips INITIAL SIZE 0,
it_vbak TYPE STANDARD TABLE OF t_vbak INITIAL SIZE 0,
it_konv TYPE STANDARD TABLE OF t_konv INITIAL SIZE 0,
it_dummy TYPE STANDARD TABLE OF t_dummy INITIAL SIZE 0,
it_tfacs TYPE STANDARD TABLE OF t_tfacs INITIAL SIZE 0,
it_final TYPE STANDARD TABLE OF t_final INITIAL SIZE 0,
it_total TYPE STANDARD TABLE OF t_total INITIAL SIZE 0,
it_ship TYPE STANDARD TABLE OF t_ship INITIAL SIZE 0,
it_nday TYPE STANDARD TABLE OF t_nday INITIAL SIZE 0,
it_a006 TYPE STANDARD TABLE OF t_a006 INITIAL SIZE 0,
it_konp TYPE STANDARD TABLE OF t_konp INITIAL SIZE 0,
it_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
it_fieldcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
it_events TYPE slis_t_event,
it_event1 TYPE slis_t_event,
it_event2 TYPE slis_t_event,
it_header TYPE slis_t_listheader.
PARAMETERS & SELECT-OPTIONS *
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_erdat FOR vbak-erdat NO-DISPLAY. "Created On
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(10) text-003.
PARAMETERS : p_month(7) TYPE c OBLIGATORY. "Month
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(40) text-030.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(10) text-004.
PARAMETERS : p_bud(16) TYPE c OBLIGATORY. "Budget
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK blk1.
AT SELECTION SCREEN *
AT SELECTION-SCREEN ON p_month.
*--Create the date range
PERFORM sub_create_date.
START-OF-SELECTION *
START-OF-SELECTION.
*--Select data from TFACS Table
PERFORM sub_read_tfacs.
*--Select Data from VBAK Table
PERFORM sub_read_vbak.
*--Select Data from VBRP Table
PERFORM sub_read_vbrp.
*--Select Data from MKPF Table
PERFORM sub_read_mkpf.
*--Select Data from MSEG Table
PERFORM sub_read_mseg.
*--Select Data from LIPS Table
PERFORM sub_read_lips.
*--Select Data from KONV Table
PERFORM sub_read_konv.
*--Collect all the data into final inetrnal table
PERFORM sub_collect_data.
*--Collect all the data into final inetrnal table
PERFORM sub_collect_vbrp.
*--Collect all the data into final inetrnal table
PERFORM sub_collect_lips.
*--Collect MSFT retail store promo rev & MSFT retail
store consignment net rev
PERFORM sub_jk_column.
*--Collect consignment cost
PERFORM sub_collect_consign.
*--Calculate Plug Numbers
PERFORM sub_claculate_plug.
*--Collect data from vbrp
PERFORM sub_collect_cost.
*--Calculate the total & avarages
PERFORM sub_calculate_total.
*--Collect totals & avarages into final internal table
PERFORM sub_collect_total.
END-OF-SELECTION *
END-OF-SELECTION.
*--This perform creates the ALV events
PERFORM sub_create_events.
*--This perform prepare field catalog.
PERFORM sub_field_catalogmerge.
*--This perform displays an ALV report
PERFORM sub_alv_display.
*& Form sub_read_vbrp
text
FORM sub_read_vbrp .
*--Local Variables
DATA : lv_index LIKE sy-tabix.
*--Select query to pick the Billing document Billing date Billing
category Billing type Distribution channel Number of doc condition
Billing item Material Number Plant Referance Subtotal 2 Cost in
document currency and Partner function from table VBRK VBRP and VBPA
using inner join
SELECT a~vbeln "Billing document
a~fkdat "Billing date
a~fktyp "Billing category
a~fkart "Billing type
a~vtweg "Distribution channel
a~knumv "Number of doc condition
b~posnr "Billing item
b~matnr "Material Number
b~werks "Plant
b~vgbel "Referance
b~kzwi2 "Subtotal 2
b~wavwr "Cost in document currency
c~kunnr "Partner function
FROM vbrk AS a
INNER JOIN vbrp AS b
ON avbeln EQ bvbeln
INNER JOIN vbpa AS c
ON bvbeln EQ cvbeln
INTO CORRESPONDING FIELDS OF TABLE it_vbrp
WHERE fkdat IN s_erdat
AND parvw EQ 'ZS'.
IF sy-subrc EQ 0.
*--Sort table by Referance
SORT it_vbrp BY vgbel1.
ENDIF.
LOOP AT it_vbrp INTO wa_vbrp.
lv_index = sy-tabix.
wa_vbrp-vgbel1 = wa_vbrp-vgbel.
MODIFY it_vbrp FROM wa_vbrp INDEX lv_index TRANSPORTING
vgbel1.
*--Clear
CLEAR : wa_vbrp.
ENDLOOP.
ENDFORM. " sub_read_vbrp
*& Form sub_read_mkpf
text
FORM sub_read_mkpf .
*--Local Variables
DATA : lv_index LIKE sy-tabix.
IF NOT it_vbrp[] IS INITIAL.
*--Select query to pick the Number of material document Material
document year and Referance from table MKPF
SELECT DISTINCT
mblnr "Number of material document
mjahr "Material doc. year
xblnr "Referance
FROM mkpf
INTO CORRESPONDING FIELDS OF TABLE it_mkpf
FOR ALL ENTRIES IN it_vbrp
WHERE xblnr EQ it_vbrp-vgbel.
ENDIF.
*--Sort table by No of material document and fiscal year
SORT it_mkpf BY mblnr mjahr.
IF sy-subrc EQ 0.
DELETE ADJACENT DUPLICATES FROM it_mkpf COMPARING mblnr mjahr.
ENDIF.
*--Sort table by referance document
SORT it_vbrp BY vgbel.
SORT it_mkpf BY xblnr.
IF NOT it_mkpf[] IS INITIAL.
LOOP AT it_mkpf INTO wa_mkpf.
lv_index = sy-tabix.
*--Clear
CLEAR : wa_vbrp.
READ TABLE it_vbrp INTO wa_vbrp WITH KEY vgbel = wa_mkpf-xblnr
BINARY SEARCH.
IF sy-subrc EQ 0.
wa_mkpf-fkdat = wa_vbrp-fkdat.
wa_mkpf-kunnr = wa_vbrp-kunnr.
ENDIF.
MODIFY it_mkpf FROM wa_mkpf INDEX lv_index TRANSPORTING
fkdat kunnr.
*--Clear
CLEAR : wa_mkpf.
ENDLOOP.
ENDIF.
ENDFORM. " sub_read_mkpf
*& Form sub_read_mseg
text
FORM sub_read_mseg .
*--Local Variables
DATA : lv_index LIKE sy-tabix.
IF NOT it_mkpf[] IS INITIAL.
*--Select query to pick the Number of material document Material
document year Movement type Special Stock indicator and Amount in
local currency from table MSEG
SELECT mblnr "Number of material document
mjahr "Material doc. year
bwart "Movement type
sobkz "Special Stock indicator
dmbtr "Amount in local currency
matnr "Material
werks "Plant
FROM mseg
INTO CORRESPONDING FIELDS OF TABLE it_mseg
FOR ALL ENTRIES IN it_mkpf
WHERE mblnr EQ it_mkpf-mblnr
AND mjahr EQ it_mkpf-mjahr.
AND bwart EQ '601'.
AND sobkz EQ 'K'.
ENDIF.
*--Sort table by Number of material document
SORT it_mkpf BY mblnr.
*--Sort table by Number of material document
SORT it_mseg BY mblnr.
IF NOT it_mseg[] IS INITIAL.
LOOP AT it_mseg INTO wa_mseg.
lv_index = sy-tabix.
*--Clear
CLEAR : wa_mkpf.
READ TABLE it_mkpf INTO wa_mkpf WITH KEY mblnr = wa_mseg-mblnr
BINARY SEARCH.
IF sy-subrc EQ 0.
wa_mseg-fkdat = wa_mkpf-fkdat.
wa_mseg-kunnr = wa_mkpf-kunnr.
ENDIF.
MODIFY it_mseg FROM wa_mseg INDEX lv_index TRANSPORTING
fkdat kunnr.
*--Clear
CLEAR: wa_mseg.
ENDLOOP.
ENDIF.
ENDFORM. " sub_read_mseg
*& Form sub_read_lips
text
FORM sub_read_lips .
*--Local Variables
DATA : lv_index LIKE sy-tabix.
IF NOT it_vbrp[] IS INITIAL.
*--Select query to pick the Delivery Material Number Plant
Movement type Subtotal 2 and Quantity from table LIPS
SELECT vbeln "Delivery
matnr "Material Number
werks "Plant
bwart "Movement type
kzwi2 "Subtotal 2
lfimg "Quantity
FROM lips
INTO CORRESPONDING FIELDS OF TABLE it_lips
FOR ALL ENTRIES IN it_vbrp
WHERE vbeln EQ it_vbrp-vgbel1.
IF sy-subrc EQ 0.
*--Sort table by Delivery
SORT it_lips BY vbeln.
ENDIF.
ENDIF.
*--Sort table
SORT it_vbrp BY vgbel1.
LOOP AT it_lips INTO wa_lips.
lv_index = sy-tabix.
*--CLear
CLEAR : wa_vbrp.
READ TABLE it_vbrp INTO wa_vbrp WITH KEY vgbel1 = wa_lips-vbeln
BINARY SEARCH.
IF sy-subrc EQ 0.
wa_lips-fkdat = wa_vbrp-fkdat.
wa_lips-knumv = wa_vbrp-knumv.
ENDIF.
MODIFY it_lips FROM wa_lips INDEX lv_index TRANSPORTING
fkdat knumv.
*--Clear
CLEAR : wa_lips.
ENDLOOP.
ENDFORM. " sub_read_lips
*& Form sub_read_konv
text
FORM sub_read_konv .
IF NOT it_vbrp[] IS INITIAL.
*--Select query to pick the Number of doc condition Condition type
and Rate from table KONV
SELECT knumv "Number of doc condition
kschl "Condition type
kbetr "Rate
FROM konv
INTO TABLE it_konv
FOR ALL ENTRIES IN it_vbrp
WHERE knumv EQ it_vbrp-knumv
AND kschl EQ 'ZR00'.
ENDIF.
ENDFORM. " sub_read_konv
*& Form sub_read_vbak
text
FORM sub_read_vbak .
*--Select query to pick the Created On Delivery Sales document type
Distribution channel and Number of doc condition from table VBAK
SELECT erdat "Created On
vbeln "Delivery
auart "Sales document type
vtweg "Distribution channel
knumv "Number of doc condition
FROM vbak
INTO TABLE it_vbak
WHERE erdat IN s_erdat.
IF sy-subrc EQ 0.
*--Sort table by created on
SORT it_vbak BY erdat.
ENDIF.
ENDFORM. " sub_read_vbak
Regards,
prashant -
anyone have a template for ALV with FM reuse_alv_grid
PLS////Hope you mean to ask a sample program for ALV GRID report
Here you go.
RANGES: r_fiscal_period FOR s600-spmon.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
gt_fcat TYPE slis_t_fieldcat_alv,
gs_fieldcat LIKE LINE OF gt_fieldcat,
gs_fcat LIKE LINE OF gt_fcat,
gt_fldcat TYPE lvc_t_fcat,
gs_fldcat TYPE lvc_s_fcat,
gt_layout TYPE slis_layout_alv,
gt_events TYPE slis_t_event,
gt_list_top_of_page TYPE slis_t_listheader,
gv_repid LIKE sy-repid,
gv_beg_period LIKE /irm/s_ipcisel-etprd,
gv_line(2) TYPE c.
DATA: gv_year(4) TYPE c,
gv_month(2) TYPE c,
gv_count TYPE i,
gv_total TYPE mc_umnetwr,
gv_num_lines TYPE i,
gv_text1(100) TYPE c.
DATA: gt_dyn_table TYPE REF TO data,
gs_dyn_line TYPE REF TO data.
FIELD-SYMBOLS: <fs_quota> TYPE STANDARD TABLE,
<fs_amount>,
<fs_quota_wa>.
* C O N S T A N T S
CONSTANTS: c_600 TYPE tabname VALUE 'S600',
c_601 TYPE tabname VALUE 'S601',
c_602 TYPE tabname VALUE 'S602',
c_603 TYPE tabname VALUE 'S603',
c_a00 TYPE vrsio VALUE 'A00',
c_01(2) TYPE c VALUE '01',
c_formname_top_of_page TYPE slis_formname
VALUE 'TOP_OF_PAGE'.
* I N T E R N A L T A B L E S & W O R K A R E A S
*structure to hold the quotas
TYPES: BEGIN OF ty_quotas,
umnetwr TYPE mc_umnetwr, "Net Value
END OF ty_quotas.
*list of months
DATA: BEGIN OF gs_months,
field_1 LIKE s600-umnetwr,
field_2 LIKE s600-umnetwr,
field_3 LIKE s600-umnetwr,
field_4 LIKE s600-umnetwr,
field_5 LIKE s600-umnetwr,
field_6 LIKE s600-umnetwr,
field_7 LIKE s600-umnetwr,
field_8 LIKE s600-umnetwr,
field_9 LIKE s600-umnetwr,
field_10 LIKE s600-umnetwr,
field_11 LIKE s600-umnetwr,
field_12 LIKE s600-umnetwr,
total LIKE s600-umnetwr,
END OF gs_months.
DATA: gs_quotas TYPE ty_quotas,
gt_quotas LIKE gs_quotas OCCURS 0 WITH HEADER LINE.
* S E L E C T I O N - S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-013.
PARAMETER: p_lis TYPE tabname, "plan input
p_date LIKE /irm/s_ipcisel-etprd, "end period
p_emp TYPE /irm/ip_ktonr, "sales participant
p_terr LIKE ztip_sales-zzterritory, "territory
p_dis TYPE zzdistrict, "district
p_reg TYPE zzregion. "region
SELECTION-SCREEN END OF BLOCK bl1.
* S T A R T - O F - S E L E C T I O N
START-OF-SELECTION.
*clear all tables, work areas, variables etc
PERFORM clear_variables.
*get all the months in the period range
PERFORM get_periods.
*retrieve component quotas
PERFORM component_quota_amt.
*build field catalogue using internal table
PERFORM field_catalog_create.
*build dynamic table
PERFORM build_dynamic_table.
*build layout for the ALV list
PERFORM build_layout.
*event table to trigger the TOP OF PAGE event to display the heading
PERFORM eventtab_build USING gt_events[].
*subroutine for displaying the header which contains the number of
*datasets selected or displayed
PERFORM header_build USING gt_list_top_of_page[].
*ALV grid display
PERFORM display_alv_grid.
*& Form clear_variables
* text
* --> p1 text
* <-- p2 text
FORM clear_variables.
CLEAR: gs_quotas,
gv_count,
gv_beg_period,
gv_total.
REFRESH: gt_quotas.
MOVE sy-repid TO gv_repid.
ENDFORM. " clear_variables
*& Form get_periods
* text
* --> p1 text
* <-- p2 text
FORM get_periods.
*get the fiscal year
gv_month = p_date+4(2).
gv_year = p_date+0(4).
MOVE gv_month TO gv_count.
CONCATENATE gv_year c_01 INTO gv_beg_period.
r_fiscal_period-low = gv_beg_period.
r_fiscal_period-high = p_date.
r_fiscal_period-sign = 'I'.
r_fiscal_period-option = 'BT'.
APPEND r_fiscal_period.
ENDFORM. " get_periods
*& Form field_catalog_create
* text
* --> p1 text
* <-- p2 text
FORM field_catalog_create.
DESCRIBE TABLE gt_quotas LINES sy-tabix.
gv_num_lines = sy-tabix.
gv_num_lines = gv_num_lines - 1.
DO gv_num_lines TIMES.
MOVE sy-index TO gv_line.
CONCATENATE 'FIELD_' gv_line INTO gs_fldcat-fieldname.
APPEND gs_fldcat TO gt_fldcat.
ENDDO.
MOVE 'TOTAL' TO gs_fldcat-fieldname.
APPEND gs_fldcat TO gt_fldcat.
*build field catalog and change the field texts of some of the amount
*fields more specific
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = gv_repid
i_internal_tabname = 'GS_MONTHS'
i_inclname = gv_repid
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = gt_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
LOOP AT gt_fieldcat INTO gs_fieldcat.
*condition to check for building a dynamic ALV grid
CHECK sy-tabix LE gv_count.
CASE gs_fieldcat-fieldname.
WHEN 'FIELD_1'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-001 TO gs_fcat-seltext_l.
MOVE text-001 TO gs_fcat-seltext_m.
MOVE text-001 TO gs_fcat-seltext_s.
MOVE text-001 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_2'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-002 TO gs_fcat-seltext_l.
MOVE text-002 TO gs_fcat-seltext_m.
MOVE text-002 TO gs_fcat-seltext_s.
MOVE text-002 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_3'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-003 TO gs_fcat-seltext_l.
MOVE text-003 TO gs_fcat-seltext_m.
MOVE text-003 TO gs_fcat-seltext_s.
MOVE text-003 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_4'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-004 TO gs_fcat-seltext_l.
MOVE text-004 TO gs_fcat-seltext_m.
MOVE text-004 TO gs_fcat-seltext_s.
MOVE text-004 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_5'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-005 TO gs_fcat-seltext_l.
MOVE text-005 TO gs_fcat-seltext_m.
MOVE text-005 TO gs_fcat-seltext_s.
MOVE text-005 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_6'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-006 TO gs_fcat-seltext_l.
MOVE text-006 TO gs_fcat-seltext_m.
MOVE text-006 TO gs_fcat-seltext_s.
MOVE text-006 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_7'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-007 TO gs_fcat-seltext_l.
MOVE text-007 TO gs_fcat-seltext_m.
MOVE text-007 TO gs_fcat-seltext_s.
MOVE text-007 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_8'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-008 TO gs_fcat-seltext_l.
MOVE text-008 TO gs_fcat-seltext_m.
MOVE text-008 TO gs_fcat-seltext_s.
MOVE text-008 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_9'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-009 TO gs_fcat-seltext_l.
MOVE text-009 TO gs_fcat-seltext_m.
MOVE text-009 TO gs_fcat-seltext_s.
MOVE text-009 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_10'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-010 TO gs_fcat-seltext_l.
MOVE text-010 TO gs_fcat-seltext_m.
MOVE text-010 TO gs_fcat-seltext_s.
MOVE text-010 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_11'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-011 TO gs_fcat-seltext_l.
MOVE text-011 TO gs_fcat-seltext_m.
MOVE text-011 TO gs_fcat-seltext_s.
MOVE text-011 TO gs_fcat-reptext_ddic.
WHEN 'FIELD_12'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-012 TO gs_fcat-seltext_l.
MOVE text-012 TO gs_fcat-seltext_m.
MOVE text-012 TO gs_fcat-seltext_s.
MOVE text-012 TO gs_fcat-reptext_ddic.
ENDCASE.
APPEND gs_fcat TO gt_fcat.
ENDLOOP.
LOOP AT gt_fieldcat INTO gs_fieldcat.
CASE gs_fieldcat-fieldname.
WHEN 'TOTAL'.
MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
MOVE text-015 TO gs_fcat-seltext_l.
MOVE text-015 TO gs_fcat-seltext_m.
MOVE text-015 TO gs_fcat-seltext_s.
MOVE text-015 TO gs_fcat-reptext_ddic.
APPEND gs_fcat TO gt_fcat.
ENDCASE.
ENDLOOP.
ENDFORM. " field_catalog_create
*& Form component_quota_amt
* text
* --> p1 text
* <-- p2 text
FORM component_quota_amt.
*convert the user to a valid format
PERFORM partid_input_conversion CHANGING p_emp.
IF p_lis EQ c_600.
*Employee Monthly Quota Targets
SELECT umnetwr
INTO TABLE gt_quotas
FROM s600 "Employee Monthly Quota Targets
WHERE ssour EQ space
AND vrsio EQ c_a00
AND spmon IN r_fiscal_period
AND pvrtnr EQ p_emp.
ELSEIF p_lis EQ c_601.
*Territory monthly quota targets
SELECT umnetwr
INTO TABLE gt_quotas
FROM s601 "Territory monthly quota targets
WHERE ssour EQ space
AND vrsio EQ c_a00
AND spmon IN r_fiscal_period
AND zzterritor EQ p_terr.
ELSEIF p_lis EQ c_602.
*District Monthly Quota Targets
SELECT umnetwr
INTO TABLE gt_quotas
FROM s602 "District Monthly Quota Targets
WHERE ssour EQ space
AND vrsio EQ c_a00
AND spmon IN r_fiscal_period
AND zzdistrict EQ p_dis.
ELSEIF p_lis EQ c_603.
*Region Monthly Quota Targets
SELECT umnetwr
INTO TABLE gt_quotas
FROM s603 "Region Monthly Quota Targets
WHERE ssour EQ space
AND vrsio EQ c_a00
AND spmon IN r_fiscal_period
AND zzregion EQ p_reg.
ENDIF.
LOOP AT gt_quotas INTO gs_quotas.
gv_total = gv_total + gs_quotas-umnetwr.
ENDLOOP.
MOVE gv_total TO gs_quotas-umnetwr.
APPEND gs_quotas TO gt_quotas.
ENDFORM. " component_quota_amt
*& Form build_dynamic_table
* text
* --> p1 text
* <-- p2 text
FORM build_dynamic_table.
*Create dynamic internal table
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fldcat
IMPORTING
ep_table = gt_dyn_table.
ASSIGN gt_dyn_table->* TO <fs_quota>.
CREATE DATA gs_dyn_line LIKE LINE OF <fs_quota>.
ASSIGN gs_dyn_line->* TO <fs_quota_wa>.
LOOP AT gt_quotas INTO gs_quotas.
ASSIGN COMPONENT sy-tabix OF STRUCTURE <fs_quota_wa> TO <fs_amount>.
<fs_amount> = gs_quotas-umnetwr.
ENDLOOP.
IF sy-subrc = 0.
APPEND <fs_quota_wa> TO <fs_quota>.
ENDIF.
ENDFORM. " build_dynamic_table
*& Form display_alv_grid
* text
* --> p1 text
* <-- p2 text
FORM display_alv_grid.
IF NOT <fs_quota> IS INITIAL.
* ALV grid display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
is_layout = gt_layout
it_fieldcat = gt_fcat
* it_sort = gt_sortcat
i_save = 'A'
it_events = gt_events
TABLES
t_outtab = <fs_quota>
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
MESSAGE i013(zip).
ENDIF.
ENDFORM. " display_alv_grid
*& Form build_layout
* text
* --> p1 text
* <-- p2 text
FORM build_layout.
gt_layout-zebra = 'X'.
gt_layout-no_vline = ' '.
gt_layout-reprep = 'X'.
gt_layout-detail_popup = 'X'.
gt_layout-window_titlebar = text-014.
gt_layout-no_scrolling = ' '.
gt_layout-detail_titlebar = text-014.
gt_layout-numc_sum = 'X'.
gt_layout-colwidth_optimize = 'X'.
ENDFORM. " build_layout
*& Form partid_input_conversion
* text
* <--P_P_EMP text
FORM partid_input_conversion CHANGING p_emp.
DATA: lv_pernr TYPE pernr_d.
lv_pernr = p_emp.
p_emp = lv_pernr.
ENDFORM. " partid_input_conversion
*& Form eventtab_build
* text
* -->P_GT_EVENTS[] text
FORM eventtab_build USING p_lt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
*top of page event is read here to display the heading
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_lt_events.
READ TABLE p_lt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE c_formname_top_of_page TO ls_event-form.
MODIFY p_lt_events FROM ls_event TRANSPORTING form
WHERE name = slis_ev_top_of_page.
ENDIF.
ENDFORM. " eventtab_build
*& FORM TOP-OF-PAGE
* text
FORM top_of_page.
IF NOT gt_quotas[] IS INITIAL.
* function module which displayes the number of records selected in the
* header part
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_list_top_of_page.
ENDIF.
ENDFORM. " TOP-OF-PAGE
*& Form header_build
* text
* -->P_GT_LIST_TOP_OF_PAGE[] text
FORM header_build USING p_lt_list_top_of_page TYPE slis_t_listheader.
DATA: ls_line TYPE slis_listheader,
lv_amount(20) TYPE c.
MOVE gv_total TO lv_amount.
CONCATENATE text-016 lv_amount INTO gv_text1.
CONCATENATE gv_text1 'USD' INTO gv_text1 SEPARATED BY space.
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = gv_text1.
APPEND ls_line TO p_lt_list_top_of_page.
ENDFORM. " header_build
Thanks, -
Can the Airport Base station be mounted on a wall?
Yes, all versions of the AirPort Extreme Base Stations (AEBS) can be wall-mounted. However, you may encounter range performance issues due to the fixed antenna positions within these models. In addition, the newer 802.11n base station have a built-in heat sink directly under the top of the unit. Mounting the base station, other than in it's intended horizontal orientation, may potentially cause heat related problems.
-
ATI Radeon 9200 and Mac OS X 10.5?
I just bought this card (ATI Radeon 9200 Mac Edition - 128MB), installed the available drivers (for Mac OS X 10.4, according to ati.com) and firmware update, but the graphics are horrible. In World of Warcraft, it's running at 5 FPS at lowest graphic-settings in the game. Even the Finder is having trouble.
Doesn't this card work under Mac OS X 10.5?
I tried to contact ATI, but I haven't heard from them yet. So I'd like to hear, if anyone have the same issues as me.Hi-
The 9200 has a core clock speed of 250mhz. Since it resides in a PCI slot, there is no multiplier, and the results are less than spectacular (as you found out). The 9200 is really meant more for adding multiple monitors, rather than adding performance.
The FX 5200(?) that came in your G5 also has a core clock speed of 250mhz, but with the 8x AGP slot, it benefits from the multiplier of the AGP, and operates much faster (though the 5200 isn't really a performance card). More on AGP.
If you are really serious about your gaming, you will need the ATI Radeon X800XT. Here are some Benchmarks. More OEM Benchmarks.
You might want to consult with OWC as to the possibility of exchange of the 9200 for an X800..... The 9600 may also be a consideration, though it is only a mid range performer. -
i have made BDC for Creating Customer XD01 but when i run it in foreground it runs well, but when i run it in backgroung it gives the following error i don't know why
<b>No batch input data for screen SAPMF02D 1361</b>
cany any one tell me why it is happening, its urgent pl. reply asap
abhishek suppali hv commented few lines in ur code(u hv did bdc for 4 contact person & i hv commented 2,3,4 ).
Can u try this & let us know that u r getting same error
report ZBDC
no standard page heading line-size 255.
include bdcrecx1.
start-of-selection.
perform open_group.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
'USE_ZAV'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-BUKRS'
'2000'.
perform bdc_field using 'RF02D-VKORG'
'2000'.
perform bdc_field using 'RF02D-VTWEG'
'10'.
perform bdc_field using 'RF02D-SPART'
'20'.
perform bdc_field using 'RF02D-KTOKD'
'0001'.
perform bdc_field using 'USE_ZAV'
'X'.
perform bdc_dynpro using 'SAPMF02D' '0111'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'BDC_CURSOR'
'SZA1_D0100-SMTP_ADDR'.
perform bdc_field using 'SZA1_D0100-TITLE_MEDI'
'Messers'.
perform bdc_field using 'ADDR1_DATA-NAME1'
'SAI LAKSHMI IND. PVT. LTD.'.
perform bdc_field using 'ADDR1_DATA-NAME2'
'NATIONAL PAPER INDUSTRIES'.
perform bdc_field using 'ADDR1_DATA-SORT1'
'SAI LAKSHMI IND. PVT'.
perform bdc_field using 'ADDR1_DATA-STREET'
'URBAN ESTATE'.
perform bdc_field using 'ADDR1_DATA-POST_CODE1'
'110076'.
perform bdc_field using 'ADDR1_DATA-CITY1'
'LUDHIANA'.
perform bdc_field using 'ADDR1_DATA-COUNTRY'
'IN'.
perform bdc_field using 'ADDR1_DATA-REGION'
'19'.
perform bdc_field using 'ADDR1_DATA-LANGU'
'EN'.
perform bdc_field using 'SZA1_D0100-TEL_NUMBER'
'3333333'.
perform bdc_field using 'SZA1_D0100-MOB_NUMBER'
'4444444'.
perform bdc_field using 'SZA1_D0100-FAX_NUMBER'
'5555555'.
perform bdc_field using 'SZA1_D0100-SMTP_ADDR'
'[email protected]'.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-STCEG'.
perform bdc_field using 'BDC_OKCODE'
'=OPFI'.
perform bdc_field using 'KNA1-LIFNR'
'SG00112'.
perform bdc_field using 'KNA1-STCEG'
'vat .5435435'.
perform bdc_dynpro using 'SAPLJ1I_MASTER' '0200'.
perform bdc_field using 'BDC_OKCODE'
'=CIN_CUSTOMER_FC2'.
perform bdc_field using 'BDC_CURSOR'
'J_1IMOCUST-J_1IEXCO'.
perform bdc_field using 'J_1IMOCUST-J_1IEXCD'
'ecc'.
perform bdc_field using 'J_1IMOCUST-J_1IEXRN'
'ecc reg no.'.
perform bdc_field using 'J_1IMOCUST-J_1IEXRG'
'ecc range'.
perform bdc_field using 'J_1IMOCUST-J_1IEXDI'
'ecc division'.
perform bdc_field using 'J_1IMOCUST-J_1IEXCO'
'commisionerate'.
perform bdc_field using 'J_1IMOCUST-J_1IEXCICU'
'1'.
perform bdc_dynpro using 'SAPLJ1I_MASTER' '0200'.
perform bdc_field using 'BDC_OKCODE'
'=CIN_CUSTOMER_FC3'.
perform bdc_field using 'BDC_CURSOR'
'J_1IMOCUST-J_1ILSTNO'.
perform bdc_field using 'J_1IMOCUST-J_1ICSTNO'
'cst no.'.
perform bdc_field using 'J_1IMOCUST-J_1ILSTNO'
'lst no.'.
perform bdc_dynpro using 'SAPLJ1I_MASTER' '0200'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'BDC_CURSOR'
'J_1IMOCUST-J_1IPANNO'.
perform bdc_field using 'J_1IMOCUST-J_1IPANNO'
'pan no.'.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-LIFNR'
'SG00112'.
perform bdc_field using 'KNA1-STCEG'
'VAT .5435435'.
perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-JMJAH'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-KUKLA'
'01'.
perform bdc_field using 'KNA1-UMSA1'
'43242'.
perform bdc_field using 'KNA1-UWAER'
'inr'.
perform bdc_field using 'KNA1-UMJAH'
'2004'.
perform bdc_field using 'KNA1-JMZAH'
' 1000'.
perform bdc_field using 'KNA1-JMJAH'
'2004'.
perform bdc_dynpro using 'SAPMF02D' '0130'.
perform bdc_field using 'BDC_CURSOR'
'KNBK-BKREF(04)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNBK-BANKS(01)'
'in'.
perform bdc_field using 'KNBK-BANKS(02)'
'in'.
perform bdc_field using 'KNBK-BANKS(03)'
'in'.
perform bdc_field using 'KNBK-BANKS(04)'
'in'.
perform bdc_field using 'KNBK-BANKL(01)'
'vendor'.
perform bdc_field using 'KNBK-BANKL(02)'
'vendor'.
perform bdc_field using 'KNBK-BANKL(03)'
'vendor'.
perform bdc_field using 'KNBK-BANKL(04)'
'vendor'.
perform bdc_field using 'KNBK-BANKN(01)'
'ac.no1 556688'.
perform bdc_field using 'KNBK-BANKN(02)'
'ac.no2 556688'.
perform bdc_field using 'KNBK-BANKN(03)'
'ac.no3 666'.
perform bdc_field using 'KNBK-BANKN(04)'
'ac.no4 556688'.
perform bdc_field using 'KNBK-KOINH(01)'
'acc holder 1'.
perform bdc_field using 'KNBK-KOINH(02)'
'ACC HOLDER 2'.
perform bdc_field using 'KNBK-KOINH(03)'
'ACC HOLDER 3'.
perform bdc_field using 'KNBK-KOINH(04)'
'ACC HOLDER 4'.
perform bdc_field using 'KNBK-BKREF(01)'
'icici'.
perform bdc_field using 'KNBK-BKREF(02)'
'SC'.
perform bdc_field using 'KNBK-BKREF(03)'
'HSBC'.
perform bdc_field using 'KNBK-BKREF(04)'
'hdfc'.
perform bdc_dynpro using 'SAPMF02D' '0340'.
perform bdc_field using 'BDC_CURSOR'
'KNVA-KNFAK(04)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVA-ABLAD(01)'
'MUMBAI'.
perform bdc_field using 'KNVA-ABLAD(02)'
'pune'.
perform bdc_field using 'KNVA-ABLAD(03)'
'CHITTAGONG'.
perform bdc_field using 'KNVA-ABLAD(04)'
'MELBOURNE'.
perform bdc_field using 'KNVA-DEFAB(01)'
'X'.
perform bdc_field using 'KNVA-KNFAK(01)'
'IN'.
perform bdc_field using 'KNVA-KNFAK(02)'
'IN'.
perform bdc_field using 'KNVA-KNFAK(03)'
'IN'.
perform bdc_field using 'KNVA-KNFAK(04)'
'IN'.
perform bdc_dynpro using 'SAPMF02D' '0370'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-CIVVE'
'X'.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=LSDP'.
perform bdc_field using 'KNVK-NAMEV(01)'
'Contat first name 1'.
*perform bdc_field using 'KNVK-NAMEV(02)'
'Contat first name 2'.
*perform bdc_field using 'KNVK-NAMEV(03)'
'Contat first name 3'.
*perform bdc_field using 'KNVK-NAMEV(04)'
'Contat first name 4'.
perform bdc_field using 'KNVK-NAME1(01)'
'Contact Name 1'.
*perform bdc_field using 'KNVK-NAME1(02)'
'Contact Name 2'.
*perform bdc_field using 'KNVK-NAME1(03)'
'Contact Name 3'.
*perform bdc_field using 'KNVK-NAME1(04)'
'Contact Name 4'.
perform bdc_field using 'KNVK-ABTNR(01)'
'0001'.
*perform bdc_field using 'KNVK-ABTNR(02)'
'0002'.
*perform bdc_field using 'KNVK-ABTNR(03)'
'0003'.
*perform bdc_field using 'KNVK-ABTNR(04)'
'0004'.
perform bdc_field using 'KNVK-PAFKT(01)'
'01'.
*perform bdc_field using 'KNVK-PAFKT(02)'
'02'.
*perform bdc_field using 'KNVK-PAFKT(03)'
'03'.
*perform bdc_field using 'KNVK-PAFKT(04)'
'04'.
perform bdc_dynpro using 'SAPMF02D' '1361'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KNVK-ABTNR'
'0001'.
perform bdc_field using 'KNVK-PAFKT'
'01'.
perform bdc_field using 'BDC_CURSOR'
'SZA5_D0700-TEL_NUMBER'.
perform bdc_field using 'ADDR3_DATA-NAME_LAST'
'Contact Name 1'.
perform bdc_field using 'ADDR3_DATA-NAME_FIRST'
'Contat first name 1'.
perform bdc_field using 'SZA5_D0700-TEL_NUMBER'
'5555555'.
perform bdc_field using 'SZA5_D0700-SMTP_ADDR'
'[email protected]'.
*perform bdc_dynpro using 'SAPMF02D' '0360'.
*perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(02)'.
*perform bdc_field using 'BDC_OKCODE'
'=LSDP'.
*perform bdc_dynpro using 'SAPMF02D' '1361'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'KNVK-ABTNR'
'0002'.
*perform bdc_field using 'KNVK-PAFKT'
'02'..
*perform bdc_field using 'BDC_CURSOR'
'SZA5_D0700-SMTP_ADDR'.
*perform bdc_field using 'ADDR3_DATA-NAME_LAST'
'Contact Name 2'.
*perform bdc_field using 'ADDR3_DATA-NAME_FIRST'
'Contat first name 2'.
*perform bdc_field using 'SZA5_D0700-TEL_NUMBER'
'6666666'.
*perform bdc_field using 'SZA5_D0700-SMTP_ADDR'
'[email protected]'.
*perform bdc_dynpro using 'SAPMF02D' '0360'.
*perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(03)'.
*perform bdc_field using 'BDC_OKCODE'
'=LSDP'.
*perform bdc_dynpro using 'SAPMF02D' '1361'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'KNVK-ABTNR'
'0003'.
*perform bdc_field using 'KNVK-PAFKT'
'03'.
*perform bdc_field using 'BDC_CURSOR'
'SZA5_D0700-SMTP_ADDR'.
*perform bdc_field using 'ADDR3_DATA-NAME_LAST'
'Contact Name 3'.
*perform bdc_field using 'ADDR3_DATA-NAME_FIRST'
'Contat first name 3'.
*perform bdc_field using 'SZA5_D0700-TEL_NUMBER'
'8888888'.
*perform bdc_field using 'SZA5_D0700-SMTP_ADDR'
'[email protected]'.
*perform bdc_dynpro using 'SAPMF02D' '0360'.
*perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(04)'.
*perform bdc_field using 'BDC_OKCODE'
'=LSDP'.
*perform bdc_dynpro using 'SAPMF02D' '1361'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'KNVK-ABTNR'
'0004'.
*perform bdc_field using 'KNVK-PAFKT'
'04'.
*perform bdc_field using 'BDC_CURSOR'
'SZA5_D0700-SMTP_ADDR'.
*perform bdc_field using 'ADDR3_DATA-NAME_LAST'
'Contact Name 4'.
*perform bdc_field using 'ADDR3_DATA-NAME_FIRST'
'Contat first name 4'.
*perform bdc_field using 'SZA5_D0700-TEL_NUMBER'
'8888888'.
*perform bdc_field using 'SZA5_D0700-SMTP_ADDR'
'[email protected]'.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0210'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-AKONT'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNB1-AKONT'
'24400000'.
perform bdc_dynpro using 'SAPMF02D' '0215'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-XZVER'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNB1-ZTERM'
's000'.
perform bdc_field using 'KNB1-XZVER'
'X'.
perform bdc_dynpro using 'SAPMF02D' '0220'.
perform bdc_field using 'BDC_CURSOR'
'KNB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0230'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VRSNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0610'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_dynpro using 'SAPMF02D' '0310'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-VERSG'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-BZIRK'
'000001'.
perform bdc_field using 'KNVV-AWAHR'
'100'.
perform bdc_field using 'KNVV-VKBUR'
'zlud'.
perform bdc_field using 'KNVV-KDGRP'
'01'.
perform bdc_field using 'KNVV-WAERS'
'INR'.
perform bdc_field using 'KNVV-KALKS'
'1'.
perform bdc_field using 'KNVV-VERSG'
'1'.
perform bdc_dynpro using 'SAPMF02D' '0315'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-VSBED'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-LPRIO'
'02'.
perform bdc_field using 'KNVV-KZAZU'
'X'.
perform bdc_field using 'KNVV-VSBED'
'01'.
perform bdc_field using 'KNVV-ANTLF'
'9'.
perform bdc_dynpro using 'SAPMF02D' '0320'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-KTGRD'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-BOKRE'
'X'.
perform bdc_field using 'KNVV-PRFRE'
'X'.
perform bdc_field using 'KNVV-INCO1'
'exw'.
perform bdc_field using 'KNVV-INCO2'
'BANGALORE'.
perform bdc_field using 'KNVV-ZTERM'
's000'.
perform bdc_field using 'KNVV-KTGRD'
'11'.
perform bdc_dynpro using 'SAPMF02D' '1350'.
perform bdc_field using 'BDC_CURSOR'
'KNVI-TAXKD(04)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVI-TAXKD(01)'
'1'.
perform bdc_field using 'KNVI-TAXKD(02)'
'1'.
perform bdc_field using 'KNVI-TAXKD(03)'
'1'.
perform bdc_field using 'KNVI-TAXKD(04)'
'1'.
perform bdc_dynpro using 'SAPMF02D' '0324'.
perform bdc_field using 'BDC_CURSOR'
'KNVP-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_transaction using 'XD01'.
perform close_group.
regards
gv
Maybe you are looking for
-
Acrobat connect pro Vs msn messenger
Hi, I am making business plan an online digital teaching school. I wanted to center my virtual classroom tools around acrobat connect pro. Someone i hired for advises just told me that msn messenger can do most of what acrobat connect does (pertainin
-
Hi Experts, The Message no. ME898 it was coming as warning message at the time of PO creation or change, In configuration I made it as error message, still it is coming as warning. Kindly explain me how to make it error message. Re
-
JTree and JButton in node.
Helo. I've a question regarding JTree component. I was wondering if it is possible at all. I want to build JTree component with JButton(JPanel) in each node, for example: RootNode | ---String [JButton][JButton] | ---String [JButton][JButton] Is there
-
Proxy settings of chrome or chromium don't take effect
I'm using archlinux+kdemod 4.5. The proxy setting of all versions of chrome or chromium seems not to take effect because my ip address doesn't change(http://www.ip-adress.com/) . I also tried swithcy! proxy but it doesn't help. However, starting the
-
Cannot locate Safari toolbar - specifically trying to find VIEW
I am trying to add items to my bookmarks list but the tutorial says to go to VIEW on the toolbar and select BOOKMARK. I don't have a menubar /toolbar that has VIEW as an option. Where is it located or how do I make the toolbar visible?