Improve speed for deleting process
Hi all,
I am writing a housekeeping program to check on the table ZTP_ADA for the invalid date format.
If invalid date format record is found, then delete the record (delete those records which are erroneous). The table is having a huge number of records, might reach around millions of records.
To make it short, the program will does this: -
1) Delete records which are in invalid date format.
My question is, how to improve the speed for the current program, which might takes more than half an hour for deleting records.
Any suggestions or ideas are greatly appreaciated.
Million thanks.
DATA: lv_datum TYPE sy-datum,
lv_commit TYPE c,
lv_excep TYPE REF TO CX_ROOT.
DATA: ITAB_ADA TYPE SORTED TABLE OF ZTP_ADA WITH NON-UNIQUE KEY TABLE LINE,
WA_ADA LIKE LINE OF ITAB_ADA.
SELECT * from ZTP_ADA
INTO TABLE ITAB_ADA.
LOOP AT ITAB_ADA INTO WA_ADA.
lv_datum = WA_ADA-DATUM.
CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
EXPORTING
date = lv_datum
EXCEPTIONS
plausibility_check_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
DELETE FROM ztp_ada
WHERE DATUM = WA_ADA-DATUM.
ENDIF.
ENDLOOP.
Did u try to remove the sorted table option from the internal table.Sorted table needs to be used only in case the records are sorted. And it adds to the processing if it is not sorted properly.
Make the internal table Standard table
Also I find that you are actually deleting the entries from the database table.
Delete the entries from the internal table which are having the wrong date format.
Then delete all the entries from the data base table and update the internal table into the database. This will be faster and you will hit the data base only thrice in the whole program.
This will fasten the process.
I would have used the following code below
DATA: lv_datum TYPE sy-datum,
lv_commit TYPE c,
lv_excep TYPE REF TO CX_ROOT.
DATA: ITAB_ADA TYPE STANDARD TABLE OF ZTP_ADA,
WA_ADA LIKE LINE OF ITAB_ADA.
SELECT * from ZTP_ADA
INTO TABLE ITAB_ADA.
DELETE * FROM ZTP_ADA
INTO TABLE ITAB_ADA.
LOOP AT ITAB_ADA INTO WA_ADA.
lv_datum = WA_ADA-DATUM.
CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
EXPORTING
date = lv_datum
EXCEPTIONS
plausibility_check_failed = 1
OTHERS = 2.
IF sy-subrc 0.
DELETE ITAB_ADA WHERE DATUM = LV_DATUM.
ENDIF.
ENDLOOP.
INSERT ZTP_ADA FROM TABLE ITAB_ADA.
Hope this helps.
Regards,
Hari
Similar Messages
-
Is there a mass transaction for deleting processing locks
Using trx FPLKDEL will not help, because the locks were not set using FKLOCK2.
Hi,
You can also try FPE2M for deleting processing locks at item document level. The limitaion of this code is that the documents should have the same " Due by date".
You can also do some config if you need specific screnn layout as well.
Let me know if this helps.
Regards,
Lalitha -
Mark for deletion - Process Order
Hello friends,
I am getting the following error when I am trying to activate the deletion flag in process order. Kindly guide.
System status ORRQ is active (ORD 50000369)
Message no. BS013
Diagnosis
Object ORD 50000369 has system status ORRQ (Order record required). According to this status, transaction 'Mark for deletion' is not allowed.
Procedure
You can only carry out the requested function if this is allowed according to the status of the object.
Regards,
NarendraHi,
I am also doknow , how to overcome that status in process order.
Letus wait for more reply,
Meanwhile u can achive through system status.
BS22 - > select Sytsst =IO278, stat =ORRQ -> double click on Sysst - >Set as permtd for Mark for deletion.
Now try to set del flag.
This not a right way, it will affect all the order type and i ahve not also tired this.
Regards
Pradeep -
Security Settings For Deleting Process Instance Information
Hi there,
We are currently having issues with our more "novice" users deleting "unsuccessful" or "error" process instances. Are their any security settings we could use for this type of user profile that would not allow them to delet these instances?
This is in PS Financials V8.9
Thanks, Dan
Edited by: user6340243 on 5-Mar-2009 9:58 AMHi Dan,
Yes you can do that. The process file associated with the Userid is not having Permission to alter process request.
Identify the Process Profile permission list:
Navigation: PeopleTools > Security > User Profile
Make changes to the Process profile permission list:
Navigation: PeopleTools > Security > Permission Lists
Select the appropriate process profile permission list.
Go to 'Process' Tab. Click on 'Process Profile Permissions' hyper link. Under 'Allow process request' section should be changed to Owner or none based on your requierment.
Hope this helps.
Regards,
Pratheepan -
What is an efficient method for increasing speed without deleting photos?
I have a late 2009 model, 27-inch iMac G-5
Model Name: iMac
Model Identifier: iMac10,1
Processor Name: Intel Core 2 Duo
Processor Speed: 3.06 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache: 3 MB
Memory: 4 GB
Bus Speed: 1.07 GHz
Boot ROM Version: IM101.00CC.B00
SMC Version (system): 1.53f13
Serial Number (system): QP******5PE
Hardware UUID: ****
It has become frustratingly slow of late.
Full Disclosure: I have 18,660 photos and 81 videos in my iPhoto app. I understand that deleting some of those would improve speed but these photos represent a good portion of my long life and having turned 75 on the last day of March, 2014, I doubt that I have enough years left to even begin such a task.
I would likely spend days and days agonizing over two nearly identical photos trying to decide which one to discard, then as soon as I made that crucial decision, would probably rethink my choice and pull the rejected photo out of the trash …
So my question is:
Other than deleting photos (a task I will continue to eschew forever, thank you very much), what are the options available to increase the speed without a substantial commitment of funds from my meager life savings?
My frustration is such that soon, I will be forced to make an appointment with the Genius Bar at a local Mac Store but the nearest one to my home is some 30 miles away and I’d like to avoid the hassle, if possible.
I understand that there is software available online the purports to safely increase the speed of a Mac but not being a techie and of a naturally suspicious bent, I hesitate to download apps unless I’m absolutely assured of their safety.
Thanks for any help anyone can offer.
<Edited By Host>Hardware Information:
iMac (27-inch, Late 2009)
iMac - model: iMac10,1
1 3.06 GHz Intel Core 2 Duo CPU: 2 cores
4 GB RAM
Video Information:
ATI Radeon HD 4670 - VRAM: 256 MB
System Software:
OS X 10.9.2 (13C64) - Uptime: 0 days 1:39:48
Disk Information:
ST31000528AS disk0 : (1 TB)
EFI (disk0s1) <not mounted>: 209.7 MB
Macintosh HD (disk0s2) / [Startup]: 999.35 GB (872.68 GB free)
Recovery HD (disk0s3) <not mounted>: 650 MB
HL-DT-ST DVDRW GA11N
USB Information:
Toshiba External USB 3.0 1 TB
EFI (disk1s1) <not mounted>: 209.7 MB
TOSHIBA EXT (disk1s2) /Volumes/TOSHIBA EXT: 999.86 GB (595.98 GB free)
Apple Inc. Built-in iSight
Apple, Inc. Keyboard Hub
Microsoft Microsoft® Comfort Mouse 4500
Apple Inc. Apple Keyboard
Apple Internal Memory Card Reader
Apple Computer, Inc. IR Receiver
Apple Inc. BRCM2046 Hub
Apple Inc. Bluetooth USB Host Controller
FireWire Information:
Thunderbolt Information:
Launch Daemons:
[System] com.adobe.fpsaud.plist 3rd-Party support link
[System] com.carbonite.launchd.carbonitedaemon.plist 3rd-Party support link
[System] com.microsoft.office.licensing.helper.plist 3rd-Party support link
Launch Agents:
[System] com.carbonite.launchd.carbonitealerts.plist 3rd-Party support link
[System] com.carbonite.launchd.carbonitestatus.plist 3rd-Party support link
User Launch Agents:
[not loaded] com.adobe.ARM.[...].plist 3rd-Party support link
[not loaded] com.spotify.webhelper.plist 3rd-Party support link
User Login Items:
iTunesHelper
Spotify
AdobeResourceSynchronizer
CFAgent
SacReminder
Internet Plug-ins:
FlashPlayer-10.6: Version: 12.0.0.77 - SDK 10.6 3rd-Party support link
Default Browser: Version: 537 - SDK 10.9
AdobePDFViewerNPAPI: Version: 11.0.06 - SDK 10.6 3rd-Party support link
CouponPrinter-FireFox_v2: Version: 1.1.10 - SDK 10.5 3rd-Party support link
AdobePDFViewer: Version: 11.0.06 - SDK 10.6 3rd-Party support link
Flash Player: Version: 12.0.0.77 - SDK 10.6 3rd-Party support link
QuickTime Plugin: Version: 7.7.3
SharePointBrowserPlugin: Version: 14.3.9 - SDK 10.6 3rd-Party support link
iPhotoPhotocast: Version: 7.0 - SDK 10.8
Safari Extensions:
clea.nr Videos: Version: 5.0
Social Fixer: Version: 9.0
AdBlock: Version: 2.6.18
Facebook Cleaner: Version: 3.3
Audio Plug-ins:
BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
AirPlay: Version: 2.0 - SDK 10.9
AppleAVBAudio: Version: 203.2 - SDK 10.9
iSightAudio: Version: 7.7.3 - SDK 10.9
iTunes Plug-ins:
Quartz Composer Visualizer: Version: 1.4 - SDK 10.9
User Internet Plug-ins:
fbplugin_1_0_0: Version: Unknown
3rd Party Preference Panes:
Carbonite 3rd-Party support link
Flash Player 3rd-Party support link
Old Applications:
/Library/Application Support/Microsoft/MERP2.0
Microsoft Error Reporting: Version: 2.2.9 - SDK 10.4 3rd-Party support link
Microsoft Ship Asserts: Version: 1.1.4 - SDK 10.4 3rd-Party support link
Solver: Version: 1.0 - SDK 10.5 3rd-Party support link
/Applications/Microsoft Office 2011/Office/Add-Ins/Solver.app
/Library/Application Support/Carbonite
CarboniteDaemon: Version: 1.1.14 build 604 - SDK 10.5 3rd-Party support link
CarboniteStatus: Version: 1.1.14 build 604 - SDK 10.5 3rd-Party support link
CarboniteAlerts: Version: 1.1.14 build 604 - SDK 10.5 3rd-Party support link
/Applications/Microsoft Office 2011/Office
Microsoft Graph: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Database Utility: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Office Reminders: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Upload Center: Version: 14.3.9 - SDK 10.5 3rd-Party support link
My Day: Version: 14.3.9 - SDK 10.5 3rd-Party support link
SyncServicesAgent: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Open XML for Excel: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Alerts Daemon: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Database Daemon: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Chart Converter: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Clip Gallery: Version: 14.3.9 - SDK 10.5 3rd-Party support link
/Applications/Microsoft Office 2011
Microsoft PowerPoint: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Excel: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Outlook: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Word: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Document Connection: Version: 14.3.9 - SDK 10.5 3rd-Party support link
Microsoft Language Register: Version: 14.3.9 - SDK 10.5 3rd-Party support link
/Applications/Microsoft Office 2011/Additional Tools/Microsoft Language Register/Microsoft Language Register.app
Microsoft AutoUpdate: Version: 2.3.6 - SDK 10.4 3rd-Party support link
/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app
Time Machine:
Skip System Files: NO
Auto backup: YES
Volumes being backed up:
Macintosh HD: Disk size: 930.71 GB Disk used: 117.97 GB
Destinations:
TOSHIBA EXT [Local] (Last used)
Total size: 931.19 GB
Total number of backups: 99
Oldest backup: 2012-12-01 22:50:20 +0000
Last backup: 2014-04-05 17:27:14 +0000
Size of backup disk: Adequate
Backup size 931.19 GB > (Disk used 117.97 GB X 3)
Time Machine details may not be accurate.
All volumes being backed up may not be listed.
Top Processes by CPU:
72% CarboniteDaemon
2% WindowServer
1% EtreCheck
0% iPhoto
0% SystemUIServer
Top Processes by Memory:
340 MB Safari
287 MB iPhoto
274 MB CarboniteDaemon
90 MB WindowServer
86 MB Microsoft Word
Virtual Memory Information:
49 MB Free RAM
1.63 GB Active RAM
1.59 GB Inactive RAM
536 MB Wired RAM
818 MB Page-ins
23 MB Page-outs -
How to Improve Delete Process for File Reloads of Same Month of Data on Cubes.We currently use a SAP generated program for selective deletion to do this. It would be more efficient to delete by InfoPackage request (or packet) and use delivered processes in process chains to do this.How can we use the more efficient delete processes in the process chains to perform the task.Could u explain me with steps as it would be more clear
How to Improve Delete Process for File Reloads of Same Month of Data on Cubes.We currently use a SAP generated program for selective deletion to do this. It would be more efficient to delete by InfoPackage request (or packet) and use delivered processes in process chains to do this.How can we use the more efficient delete processes in the process chains to perform the task.Could u explain me with steps as it would be more clear
-
Improve encoding speed for WMV output?
Hi,
Firstly, apologies if I am posting this in the incorrect area of the forums. I'm not entirely sure it's a hardware issue, I think it might be codec related.
I am trying to find a way to reduce encoding times for a (on average) 4 minute clip using Premiere/AME CS5
My input format is either XDCAM HD or IMX50, my output formate is always wmv, 720x 576 (PAL) interlaced, currently single pass encoding (because of the time taken) using the Windows Media Encoder (wmvencod.dll).
There are no effects, nor transistions in my sequence. 2 tracks of video - 1 actual video, the second a logo overlay. 1 stereo pair for the audio.
Hardware is a single Intel Xeon, quad core 2.5Ghz processor, currently with 10Gb memory. I have tried doubling up on the processors and also increasing the memory up to 16Gb but the improvements are marginal. Switching hyperthreading off also provides a marginal improvement in encoding time.
I am running this on a server class 1u box. Currently it only has the standard vga server graphics card in it. I have mixed feelings about installing a graphics card as I have read conflicting information about whether it will provide an improvement in my encoding time.
I don't think MPE is relevant, given that I'm not doing any effects processing.Will the CUDA architecture provide a significant improvement?
I can only find 2 graphics cards that I think will fit in the box and these are the Quadro 4000 and Quadro FX 3800 that retail at around £650 - £800 + so it's a significant punt if they aren't going to provide an improvement.
In essence, I have a template (well a couple of) project that I add the source file to each time that gets dropped into AME for encoding. For HD source encoding takes about 4 times real time. For SD it's about real time.
If I chose a different output format, with the same input format eg h264 or DV (avi) then the encoding time is reduced to roughly 1/3rd of what I am experiencing at the moment. That gives me the impression that the wmv encoder is the bottle neck
Are there alternatives to using the standard Microsoft WMV encoder? If so, how do I go about getting AME to use them, given that prior to installing Media Player I didn't even have wmv as an export option.
Any thoughts on this would be appreciated.I couldn't tell you whether or not it uses the same dlls as the Microsoft program... that's getting deeper under the hood than I usually go! :-) If it is, then you're correct in that going to an intermediate and using WME isn't going to speed up your process.
For more info on hardware, go to www.ppbm5.com and look at the test results page... see what folks were using who got the higher results. IIRC, your specific processor (even in its dual form) is a rather poor performer with this kind of stuff, and the Core i7 line is much better.
Out of my own curiosity, I'm running a test on my system to see if I can reproduce the similarly long encode times with WMV versus h.264. I've got a 4:23 AVCHD clip which I'm rendering first using h.264 MainConcept to PAL DV Widescreen HQ (the only reason I'm using PAL here isbecause that's what you're using, and I wondered if it would go differently than NTSC... I've never used PAL before). The full encoding time for that in h.264 was about 1:45, so a little better than double real time. The same clip, rendered with WMV using PAL Widescreen source to HQ Download is taking about 3:15, so pretty much double the h.264 clip's time, but still better than realtime, and nowhere near the results you're getting.
I don't remember what you said your HD setup was like, but make sure you've got multiple hard drives, preferably a RAID for your data disk. I learned that having a good disk configuration can really make a lot of difference, all other things being equal! -
Transaction code to view process orders set for deletion
Hi PP Gurus
We are trying to search for transaction code to view the process orders which have status as DLFL i.e deletion flag set for the orders. In cooispi, the deleted orders are not shown in the report output.
I request you to let me know if there is any other code through which we can view deleted process orders.
Thanks & Regards
Harleen KaurDear,
In COOISPI put DLT in system status field and execute the report this will give you the list of all order with deletion flags
Also refer this thread,
COOIS Report for Production orders with status DLFL
Regards,
R.Brahmankar
Edited by: R Brahmankar on May 6, 2009 11:16 AM -
Find flagged process orders for deletion
Hi all ,
How do i find flagged process orders for deletion ?
i need report or t-codeHello,
Try with t-code COOISPI. In selection,Put material no and system status(sel. at header level) as DLFL
and also check "with deeltion flag indicator"
Check with result and revert.
Regards, -
I just created a slideshow dvd in imovie, and when I hit finalize it said that it would take 7 hours to finalize. I've only had my macbook pro for 6 months, and this is the first imovie I've done...is this normal? If not how can I speed up this process? Thanks in advance for all of your help!
Hi
Time needed can depend on several things.
• less than 5 GB free space on Start-up (Mac OS) hard disk = Redicolous long times AND a DVD that most probably will not work OK
Medicine - I never go under 25GB free space
• Use of strange file formats into iDVD - can force it to de-code first then re-encode - this can take long long times
I use
Video - StreamingDV as from miniDV tape Cameras - or QuickTime Movies Converted to StreamingDV
Audio - .aiff 16-bit 48 kHz - (no .mp3, .wma etc)
• Use of old Mac - My G4 600MHz took about 24 hour per hour movie. my dG5 - about 2 hours per hour (I use Pro Quality encoding)
• Pro Quality encoding - takes about x2 to process a movie
Yours Bengt W -
ABAP Routine for Deleting and creating index for ODS in Process chains
Any pointers for the ABAP Routine code for deleting and creating index for ODS in Process chains.
Hi Sachin,
find the following ABAP code to delete ODS ondex.
data : v_ods type RSDODSOBJECT.
move 'ODSname' to v_ods .
CALL FUNCTION 'RSSM_PROCESS_ODS_DROP_INDEXES'
EXPORTING
I_ODS = v_ods.
To create index:
data : v_ods type RSDODSOBJECT.
move 'ODSname' to v_ods .
CALL FUNCTION 'RSSM_PROCESS_ODS_CREA_INDEXES'
EXPORTING
I_ODS = v_ods.
hope it helps....
regards,
Raju -
Delete messages stuck in status 12, Recorded for Outbound Processing
I am on a PI 7.10 SP8 system. I have 59,000 XML messages showing in status 12 ( Recorded for Outbound Processing) that I would like to just delete or cancel. These have accumulated over several days of testing interfaces. If I have to allow them to be processed, that would also work but is not needed. I have read about 6 different forum threads and tried several things but nothing has worked yet. <br>
The messages can not be cancelled from SXMB_MONI. <br>
The queues are no longer showing in SMQ2. <br>
I have tried restarting and re-registering the queues. <br>
I've tried RSXMB_RESTART_MESSAGES and RSXMB_CANCEL_MESSAGES. <br>
SWPR & SWPC show nothing to restart. <br>
Any ideas on something else to try? <br>Hi,
You can try to delete or archive mesages. use following links.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/402fae48-0601-0010-3088-85c46a236f50
Delete Messages SXMB_MONI
http://help.sap.com/saphelp_nw04/helpdata/en/0e/80553b4d53273de10000000a114084/frameset.htm
Too many questions on Archive/Delete messages.
Inder -
Process order %00000000001 has been selected for deletion
Hi Guys,
With the use of strategy type 86 (assem bly processing for process order) when creating the sales order it is giving the error
Process order %00000000001 has been selected for deletion
Message no. V1796
According to process order will be created automatically with the order type PI04. Related setting for the order type Pi04 in the specified plant is done.
Pls help.Solved..Change the customer number
-
How to improve the speed for backing up files to time capsule via in hose wifi?
How to improve the speed for backing up files to time capsule via in hose wifi?
via in hose wifi?
Use a bigger hose??
House??
Need to spell this out a bit more..
But speed via 2.4ghz to the TC is restricted by Apple to max 130mbps link speed.. much slower actual transfer.. latest TC and laptops can do 450mbps on 5ghz but you need to be up close.. so place the TC near the device using it.. and force 5ghz connection by using a different name for 5ghz network. -
How to find the process responsible for deleting files
Hi,
We have a process which stores a file in a particular location say /tmp/mydir/. The files getting stored in this directory are getting deleted. Is there any way to find which process is responsible for deleting the file. Is there any way we can truss on the directory/file and check which process accessed it or deleted it.solquestions wrote:
I tried: dtrace -n syscall::unlink:entryThat one looks good to me.
While it picks up the unlinking(I tested by doing a rm of some files), I could not get the pid of the process doing such rm.....(or maybe the process exited...)You haven't asked it to print that information. Try:
dtrace -n 'syscall::unlink:entry {trace(pid);trace(execname)}'
I'd like to see the process/adpp/program, calling a particular system call....unlink, close, open etc etc...The above should do that.
I wonder if dtrace can capture both library calls and system calls......Dtrace doesn't capture so much as it fires on probes. But yes, both libraries and system calls can have probes available.
It seems functionality for capturing system calls from a process are more documrnte, and with examples, than, those asking for finding which system calls get opened by whom....
I think all you're missing is adding some information to the trace output.
Is getting unlink enough to find "what is removing files?"You might want to check rename as well.
How do I drrace for "anything that touched taht file" or, "anything that touches files in a directory"That's actually a somewhat difficult task for dtrace. First, you might download the "Dtrace toolkit". One of the tools in there is "opensnoop". It reports on file opens and you can examine the script to see how it does it. You can even give a filename and it only reports when that filename is accessed.
But the main problem is that files can have many names, and dtrace is just looking at the name in many cases. So "/etc/passwd" can be called "/etc/passwd", or if you're in /usr it could be called "../etc/passwd", or any of a variety of names. It's not too hard to set a probe predicate to fire only on a pattern match, so you could set it to only fire when the filename is matched.
Good luck, and see if any of the existing tools in the toolkit are close enough that you can use them directly or modify them slightly.
Darren
Maybe you are looking for
-
How do I create a slideshow that I can click somewhere to change slides
I want to create a slideshow to use as part of a presentation, that I can click somewhere to bring on the next slide when I'm ready, rather than have a fixed slide or fade duration - analagous to what I would do in a Power Point presentation. I can
-
Hello, i got my laptop HP 4530s i3, it came with Linux preinstalled. I have installed windows 7 ultimate x64 and i tried to find as many drivers as possible. I couldnt find 5 drivers plz help me. laptop p/n: A1E83EA#ABV yellow signs: 1)Generic Blueto
-
I'm facing problem with this stored procedure.the decode function is not working properly.However the same select statement when compiled seperately works fine. i'm confused.Please help me out. CREATE OR REPLACE PROCEDURE sp_sel_basis_list (v_fund NU
-
Hi, Please help me with this as the phone is currently lying as a dead paperwieght with my brother in law. The phone, even though bought as SIM FREE, keeps asking for ACTIVATION!!! Does it mean that I need to activate it with a SIM of one of the carr
-
In the out of the box lead process in CRM OnDemand, when you click the reject lead button you are taken to an unconfigurable form and asked to enter a lead reject reason, when you click save this information is then appended to the end of the comment