Delete doubt

Hi friends,
I have some record in internal table. I want to delete some records in internal table based on the condition.
loop at lt_mseg1 into lw_mseg1.
if lw_mseg1-dmbtr = 0.
delete lw_mseg1.( I want to delete complete record where value is 0)
endif.
endloop.
Thanx in advance,
Venu

hi,
chk this.
loop at lt_mseg1 into lw_mseg1.
if lw_mseg1-dmbtr = 0.
DELETE <b>TABLE</b> lt_mseg1 FROM lw_mseg1.
endif.
endloop.
rgds
anver
if hlped pls mark points
Message was edited by: Anversha s

Similar Messages

  • Doubt in Deleting a TR

    Hi,
    I have collected a Role in a TR say ABC12345. this TR is not released
    But now i think that this TR is not required to be moved to Producation. Hence please tel me  whether  i can delete the TR in SE09 or it will delete some other objects also.
    This has happened in the Quality System

    Hi friend
    You can delete the transport with SE01 transaction. Here you 'll see a TR, so highlight the task where those roles are contained, and then press the "delete" button.
    You need to repeat this "delete" with every object of the task. After all objects were deleted, repeat the action with the task and then with the tr.
    If you have some object locked you can go through SE03 tx and release it.
    Hope this help you

  • Doubts in FORALL delete

    in below error i am getting while FORALL delete,
    CURSOR c_mkt_ofer_revsn_id IS
    SELECT mkt_ofer_revsn_id FROM
    SELECT revsn_sg.mkt_ofer_revsn_id
    FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
    WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
    AND gmeic_trnsmn_status='SUCCESS'
    AND procsed_flag='C'
    AND TRUNC(txn_dt_timstm) < (
    SELECT SYSDATE-vcps_gmeic_parm_value
    FROM vcps_gmeic_parm
    WHERE vcps_gmeic_parm_nm='XXX'
    UNION
    SELECT revsn_sg.mkt_ofer_revsn_id
    FROM mkt_ofer_revsn_sg revsn_sg
    WHERE NOT EXISTS (SELECT 1
    FROM gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
    WHERE hdr_trnsmn_dtl.mkt_ofer_revsn_id=revsn_sg.mkt_ofer_revsn_id
    AND procsed_flag='C'
    AND TRUNC(txn_dt_timstm) < (
    SELECT SYSDATE-vcps_gmeic_parm_value
    FROM vcps_gmeic_parm
    WHERE vcps_gmeic_parm_nm='YYY'
    UNION
    SELECT revsn_sg.mkt_ofer_revsn_id
    FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
    WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
    AND gmeic_trnsmn_status='FAILURE'
    AND procsed_flag='C'
    AND TRUNC(txn_dt_timstm) < (
    SELECT SYSDATE-vcps_gmeic_parm_value
    FROM vcps_gmeic_parm
    WHERE vcps_gmeic_parm_nm='XXX'
    TYPE ct_mkt_ofer_revsn_id IS TABLE OF c_mkt_ofer_revsn_id%ROWTYPE;
    crt_mkt_ofer_revsn_id ct_mkt_ofer_revsn_id := new ct_mkt_ofer_revsn_id();
    BEGIN
    OPEN c_mkt_ofer_revsn_id;
    FETCH c_mkt_ofer_revsn_id
    BULK COLLECT INTO crt_mkt_ofer_revsn_id;
    CLOSE c_mkt_ofer_revsn_id;
    FORALL crt_mo_revsn_id_idx IN crt_mkt_ofer_revsn_id.FIRST..crt_mkt_ofer_revsn_id.LAST
    DELETE FROM mkt_ofer_revsn_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
    END;
    Error(59,27): PLS-00382: expression is of wrong type
    In case if i use
    DELETE FROM mkt_ofer_revsn_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx).mkt_ofer_revsn_id ;
    Error(58,1): PL/SQL: SQL Statement ignored
    Error(59,27): PL/SQL: ORA-22806: not an object or REF
    Error(59,27): PLS-00436: implementation restriction: cannot reference fields of BULK In-BIND table of records
    Error(59,27): PLS-00382: expression is of wrong type
    why it happening ? What is the currect way to that ?
    please help...

    CREATE OR REPLACE PROCEDURE TEST_SP is
    CURSOR c_mkt_ofer_revsn_id IS
    SELECT mkt_ofer_revsn_id FROM
    SELECT revsn_sg.mkt_ofer_revsn_id mkt_ofer_revsn_id
    FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
    WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
    AND gmeic_trnsmn_status='SUCCESS'
    AND procsed_flag='C'
    AND TRUNC(txn_dt_timstm) < (
    SELECT SYSDATE-vcps_gmeic_parm_value
    FROM vcps_gmeic_parm
    WHERE vcps_gmeic_parm_nm='XXX'
    UNION
    SELECT revsn_sg.mkt_ofer_revsn_id
    FROM mkt_ofer_revsn_sg revsn_sg
    WHERE NOT EXISTS (SELECT 1
    FROM gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
    WHERE hdr_trnsmn_dtl.mkt_ofer_revsn_id=revsn_sg.mkt_ofer_revsn_id
    AND procsed_flag='C'
    AND TRUNC(txn_dt_timstm) < (
    SELECT SYSDATE-vcps_gmeic_parm_value
    FROM vcps_gmeic_parm
    WHERE vcps_gmeic_parm_nm='YYY'
    UNION
    SELECT revsn_sg.mkt_ofer_revsn_id
    FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
    WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
    AND gmeic_trnsmn_status='FAILURE'
    AND procsed_flag='C'
    AND TRUNC(txn_dt_timstm) < (
    SELECT SYSDATE-vcps_gmeic_parm_value
    FROM vcps_gmeic_parm
    WHERE vcps_gmeic_parm_nm='ZZZ'
    TYPE ct_mkt_ofer_revsn_id IS TABLE OF c_mkt_ofer_revsn_id%ROWTYPE;
    crt_mkt_ofer_revsn_id ct_mkt_ofer_revsn_id ;--:= new ct_mkt_ofer_revsn_id();
    BEGIN
    OPEN c_mkt_ofer_revsn_id;
    FETCH c_mkt_ofer_revsn_id
    BULK COLLECT INTO crt_mkt_ofer_revsn_id;
    CLOSE c_mkt_ofer_revsn_id;
    FORALL crt_mo_revsn_id_idx IN crt_mkt_ofer_revsn_id.FIRST..crt_mkt_ofer_revsn_id.LAST
    DELETE FROM mkt_ofer_revsn_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx);
    /*DELETE FROM mkt_ofer_contnt_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
    DELETE FROM mkt_ofer_channl_desc_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
    DELETE FROM mkt_ofer_desc_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
    DELETE FROM mdsn_modl_desc_sg
    WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
    END TEST_SP;

  • DOUBT IN PE51...MISTAKENLY ADDED SAME WAGETYPE 2 TIMES..HOW TO DELETE  ONE

    Hi Experts,
    I have mistakenly added 1 wagetype  for 2 times in the earnings side and saved in a request.How to delete one wagetype from the screen.If we put 2 wagetypes could it be a problem...
    Please advice me...
    Thanking u.
    sai.

    Hai..
    Remove the wage type and save in the same request.
    or...
    Go to SE09, Give ur user name and check for the request & the date that u raised. Simply delete that request and create a new one....
    Edited by: manu on Dec 20, 2007 2:36 PM

  • Rman doubt - deleted archievelogs

    I´m still learning how to use RMAN and I have some doubts.
    Today I´m testing Full backup with archievelogs and I got the following message :
    RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
    ORA-19625: error identifying file /p00/oradata/flash_recovery_area/TREINA/archivelog/2007_02_22/o1_mf_1_549_2xtdd1t1_.arc
    After that I´ve found this solution :
    *Action: If the archived log has been removed with an outside utility
    // and the archivelog has already been backed up, then you can
    // synchronize the repository by running CROSSCHECK ARCHIVELOG ALL.
    // If the archivelog has not been previously backed up, then you
    // should take a full backup of the database and archivelogs to
    // preserve recoverability. Previous backups are not fully
    // recoverable.
    So I used the command crosscheck archievelog all . I would like to know if Now I have to do a offline backup
    or Can I do a online backup like this example :
    BACKUP AS COMPRESSED BACKUPSET
    DATABASE TAG 'DB_LEVEL0_WHOLE'
    FORMAT '/p00/oradata/flash_recovery_area/TREINA/backupset/%d_%I_level0_%s_%p_%u.bkp'
    PLUS ARCHIVELOG TAG 'ARCHIVEDLOGS'
    FORMAT '/p00/oradata/flash_recovery_area/TREINA/archivelog/%d_%I_arch_%s_%p_%u.bkp';
    Thank you,
    Felipe

    or Can I do a online backup like this example :
    BACKUP AS COMPRESSED BACKUPSET
    DATABASE TAG 'DB_LEVEL0_WHOLE'
    FORMAT
    '/p00/oradata/flash_recovery_area/TREINA/backupset/%d_
    %I_level0_%s_%p_%u.bkp'
    PLUS ARCHIVELOG TAG 'ARCHIVEDLOGS'
    FORMAT
    '/p00/oradata/flash_recovery_area/TREINA/archivelog/%d
    _%I_arch_%s_%p_%u.bkp';you can but you should remove the format parameters or use a non-FRA location. if you use FRA, and it seems you do, RMAN will automatically store the backupsets in FRA. FRA works best if you leave FRA management up to RMAN and Oracle DB, otherwise FRA can get out of sync with funny results.
    regards,
    -ap

  • Dear All, thanks in advance i have one doubt please clarify this  what it is can we delete the payroll result in production client .yes we can delete the payroll result by PU01 Tcode .But my question is

    what are the scenarios we delete the payroll results ,can we suggest the client to delete the payroll result.

    Hi,
    I would not recommend that you delete the payroll results. What is your issue? Can you provide more background, there may be other options...
    Will

  • Delete queues - doubt. Two questions.

    Hi
    First:
    My basis plans to upgrade R3 by ST-PI.
    whether it will be enough to clean queues in RSA7 and LBWQ
    by pulling all data to BW (twice)
    stop jobs, blocks users to do any changes
    or I must delete all rows from RSA7 and LBWQ
    whether there is no difference between this both actions when I refill setup tables ?
    Second:
    It is necessary to delete queue for 0FI_AR_3 other FI, CO when
    we upgrade R3 by ST-PI ?
    My basis is insisting that it is necessary.
    Note 328181 no says about it.
    Regards
    PWnuk

    1 - it is enough to clean queues in RSA7 and LBWQ by pulling all data to BW
         (twice) stop jobs, blocks users to do any changes
    2 - It is necessary to delete queue for 0FI_AR_3 other FI, CO
    if it may be useful rewards points are appreciated

  • Doubt in DELETE

    Hi all.
    I have internal table ,it has few fileds like     
        vbeln TYPE likp-vbeln,
         kunnr TYPE likp-kunnr,
         tknum TYPE vttk-tknum,
         daten TYPE vttk-daten,
    now it has values.i need to delete record which one have  "tknum" is blank in this internal table.
    please help me.
    To be reward all helpfull answers.
    Jay

    Hello,
    Deleting from an Internal Table
    1. DELETE itab.
    2. DELETE TABLE itab WITH TABLE KEY k1 = v1 ... kn = vn.
    3. DELETE TABLE itab [FROM wa].
    4. DELETE itab INDEX idx.
    5. DELETE itab FROM idx1 TO idx2.
    6. DELETE itab WHERE logexp.
    7. DELETE ADJACENT DUPLICATES FROM itab.
    You can use these methods according to your need.
    eg:   delete itab where tknum = '  '.
    regards,
    LIJO

  • Doubts on clearing line items in profit centre and deleting the profit cent

    hello All
    We are using ecc 5.0 and new g/l, document splitting is activated. We are not using classic profit centre accounting.
    We have two accounts which has values for profit centre 1010219.
    1. 228100 which is assigned in cross company code clearing account
    2. 228200 which is assigned in cross business unit ( as a part of zero balance account) in documen splitting.
    now i want to clear all he entries for this profit centre and transfer them to another profit centre 1010403.
    I am unable to do so as everytime I try to pass cross profit centre entry, Account 228200 gets a balacing line item( as a part of zero balance). this way my profit centre trail balance will never become zero.
    can some body help me with this,,,,
    1. in classic profi centre we could use t-code ke90 just to pass a document entry in PCA, this is not possible in new g/l... is there alternative.....
    please  help....
    thanks
    sanjeev

    Hi,
    You can try Profit Center Distribution(both sender and receiver gets original account numbers) or Assessment(Assessment cost element shall be a bring in between) to transfer values from multi profit centers to one single profit center or multi profit centers. The cycle can be run on a periodical basis.
    Trust this answers to your query!

  • Mac is having some problem about shout down, it stops sometimes and i need to turn off . My doubt is 3 weeks ago , i found 2 trojans virus and i have already deleted in the adobe flash , i have already uninstalled it too. Help me

    So, I have jus bought it .
    I heard that mac is exposed to virus, then i found virus on flash "trojan" .
    This sounds is commom? What do I have to do when my computer doesn't work as predictable ?
    Do I need to reboot it?
    Please help me.

    If you elect to install Adobe Flash Player, download it from this site: http://get.adobe.com/flashplayer/
    If your Mac is not working as expected, please describe the symptoms and include as much detail as possible. The very last thing you should suspect on a Mac is a virus. Installing "anti-virus" junk in an effort to fix your Mac is almost guaranteed to make things worse.
    OS X already includes everything it needs to protect itself from viruses and malware. Keep it updated with software updates from Apple.
    What do I have to do when my computer doesn't work as predictable ?
    Since your Mac is new, you should be contacting AppleCare to discuss any concerns rather than seeking help from strangers on this user-to-user support forum.
    Never install any product that claims to "speed up", "clean up", "optimize", or "accelerate" your Mac. Without exception, they will do the opposite.
    Never install pirated or "cracked" software, software obtained from dubious websites, or other questionable sources. Illegally obtained software is almost certain to contain malware.
    Don’t supply your password in response to a popup window requesting it, unless you know what it is and the reason your credentials are required.
    Don’t open email attachments from email addresses that you do not recognize, or click links contained in an email:
    Most of these are scams that direct you to fraudulent sites that attempt to convince you to disclose personal information.
    Such "phishing" attempts are the 21st century equivalent of a social exploit that has existed since the dawn of civilization. Don’t fall for it.
    Apple will never ask you to reveal personal information in an email. If you receive an unexpected email from Apple saying your account will be closed unless you take immediate action, just ignore it. If your iTunes or App Store account becomes disabled for valid reasons, you will know when you try to buy something or log in to this support site, and are unable to.
    Don’t install browser extensions unless you understand their purpose. Go to the Safari menu > Preferences > Extensions. If you see any extensions that you do not recognize or understand, simply click the Uninstall button and they will be gone.
    Don’t install Java unless you are certain that you need it:
    Java, a non-Apple product, is a potential vector for malware. If you are required to use Java, be mindful of that possibility.
    Disable Java in Safari > Preferences > Security.
    Despite its name JavaScript is unrelated to Java. No malware can infect your Mac through JavaScript. It’s OK to leave it enabled.
    Block browser popups: Safari menu > Preferences > Security > and check "Block popup windows":
    Popup windows are useful and required for some websites, but popups have devolved to become a common means to deliver targeted advertising that you probably do not want.
    Popups themselves cannot infect your Mac, but many contain resource-hungry code that will slow down Internet browsing.
    If you ever see a popup indicating it detected registry errors, that your Mac is infected with some ick, or that you won some prize, it is 100% fraudulent. Ignore it.
    Ignore hyperventilating popular media outlets that thrive by promoting fear and discord with entertainment products arrogantly presented as "news". Learn what real threats actually exist and how to arm yourself against them:
    The most serious threat to your data security is phishing. To date, most of these attempts have been pathetic and are easily recognized, but that is likely to change in the future as criminals become more clever.
    OS X viruses do not exist, but intentionally malicious or poorly written code, created by either nefarious or inept individuals, is nothing new.
    Never install something without first knowing what it is, what it does, how it works, and how to get rid of it when you don’t want it any more.
    If you elect to use "anti-virus" software, familiarize yourself with its limitations and potential to cause adverse effects, and apply the principle immediately preceding this one.
    Most such utilities will only slow down and destabilize your Mac while they look for viruses that do not exist, conveying no benefit whatsoever - other than to make you "feel good" about security, when you should actually be exercising sound judgement, derived from accurate knowledge, based on verifiable facts.
    Do install updates from Apple as they become available. No one knows more about Macs and how to protect them than the company that builds them.
    Summary: Use common sense and caution when you use your Mac, just like you would in any social context. There is no product, utility, or magic talisman that can protect you from all the evils of mankind.

  • SUIM doubt - change documents for deleted users

    Hi,
    Hey ,My manager is asking me the list of user created  only last week, say 250 user created.How can get this report using SUIM(User Information System).
    Regards,
    Naveen
    Edited by: Julius Bussche on Mar 6, 2009 8:42 PM
    More meaningfull subject title added, which is also a usefull search term...

    >
    Trond Stroemme wrote:
    > Well, anyway he said the list was only for his manager... ))
    Maybe, just maybe, there is an auditor who already has the 251 created users (either from RSUSR100 or from the security audit log, or a specific period of something else) requesting a list of created users from the manager, to be able to take a sample of the approved user access request forms.
    If the auditor does not want to go through all 250, then he /she might only need a sample size of 1 to reach a 100% level of inconfidence with 0% deviation for the sample size... ))
    I know that some auditors go around sampling Z* programs from package $temp asking for the test documentation and QA approvals, and those which start with '!'....
    Cheers,
    Julius

  • Reg:How to delete the column in table control also from database table.

    Hi Experts,
    Once again thank u all for giving the responses.
    one more doubt is how to delete the columns of table control and also the record shold delete from ztable.
    With Regards,
    Saroja.P.

    Hi,
    If you want to delete the rows in the table control and simultaneously delete it from the database table, then you can implement a 'DELETE' functionality specific to your table control. Have a MARK field (you will find that in the screen attributes of the table control -> give a name for the MARK field, you will find an additional MARK column at the beginning of your table control). You can check whatever rows you want to delete from the table control, call the delete module.
    "This portion of code inside the LOOP...ENDLOOP.
    IF sy-ucomm eq 'F_DELETE'.
       gt_itab2-check = mark.  " Store the MARK field status into your internal table's correspoding field 'check'
      MODIFY gt_itab INDEX tabcontrol-current_line.
    ENDIF.
    iF sy-ucomm eq 'DELETE1'.
      DELETE gt_itab WHERE check eq 'X'. "Your internal table does not have rows that you want to delete
    ENDIF.
    Now you can modify your database table using the MODIFY statement.
    MODIFY ZDB FROM TABLE gt_itab.

  • Regarding "Delete Index" process in the process chain.

    Hi Gurus
    In the process chain, I have Delete Index -> Load Info pacakge -> Create Index process in the above order.
    I am loading few records, so no need to delete indexes everytime. Can i remove the "Delete Index" process from the Chain without deleting the Create Index process. Or do I have to delete both.
    Could you please clarify my doubt if possible in detail.
    Thanks,
    Regards,
    aarthi

    With the numbers you provided, you probably don't need to have the steps.  With Oracle (not sure about all the other DB flavors) there are some other considerations:
    Not having the indexes when loading the data can improve the load time since the bitmap indexes are not very efficient with respect to inserts/updates. The more dimensions you have, the more indexes there will be and the more noticable the impact of having the indexes present when loading.
    The drop index process only drops the F fact table indexes.  If you compress your cubes regularly so that you don't have many uncompressed requests, the index rebuild time will remain small, but if you have many uncompressed requests in your cube, the index rebuild time can begin to exceed whatever time you might save on the load with indexes deleted.
    With bitmap indexes present, you can also occasionally receive a ORA-0600 deadlock error during the load process, and that can be prevented by dropping the indexes before loading or chose the load option packet by packet so that two packets are not trying to update the same index block at the same time.
    Another concern in shops where reporting on the cube might occur during the load process - if you drop indexes prior to a load, any one trying to run a query on teh cube could have poor query performance since all the indexes will be missing onthe F fact table, this agina becomes more apparent the more data you have in the uncompressed fact table.
    So it really comes down to your environment, but certainly drop the indexes any time you have large loads.

  • Doubt on Rows and Coloums in BEx Query Designer.

    Hello, Experts.
    I have a Doubt in BEx Query Designer.
    In the Rows I have a Fiscal year Period,  if the user enters the Fiscal year period for e.g. : 001/2006  .  
    in the columns i have  forecast for the Fiscal year period which user entered ( 001/2006 ),   and we have another column pervious ( Prior )fiscal year period ( 001/2005 ). 
    My Questions is ,  as we are Restricting with 001/2006 will the query retrieve the values of 2005 or not?
    Thanks in Advance .
    Sharp

    yes i am  Doing Offest.
    I moved this Fiscal year Period to Free char,   and i Restricted with Pervious Fical Year period and Fical year period .  it worked.  but
    when i kept this in Rows and deleted Previous Fiscal Year period .  it is displaying blanks.   in prior years forecast.
    is it because i am Ristricting it to only fical year period  which user entered
             Colums-->  Forcast ( User Entered year )          Prior year
    Rows
    Fiscal year period
      Fiscal year period( user enterd )
    Thanks

  • How do you "delete all" email on iPhone 4S?

    How do you "delete all" email on iPhone 4S?

    There is no delete all option, unless you want to remove the email account, but I doubt that is what you are seeking.

Maybe you are looking for

  • Wrong compression (to strong) on my VO Track , what can i do?

    I have recorded VO commentary through an Compressor Build in my Audio Interface. The Setting was to strong. The comp effect is far to much, the Voice Sounds really close to my ears....the deeper frequencies of my male Voice Sounds hard. Can i fix thi

  • Song goes in one playlist but not another

    I am in the process of using ITunes Match. Close to half my songs are in the icloud now. One of my newer  songs was recently matched, shows that it was matched,  and is supposedly now in icloud. I dragged that song into one of my ITunes playlists wit

  • Trying to use wireless printing on a windows 8 computer

    Everything I have is Apple, and working great with my Airport Extreme.  My wife, however, has a windows 8 computer.  I sold her on the wireless printing as a reason to get the sweet new Apple Airport Extreme. Problem: Research leads me to believe tha

  • Computer name automatically changed

    Hi. When i went to my iMac this morning it had a window saying something like "The computer name *the name I have called my computer* already exists. It has been changed to *the name I have called my computer 2*." It has never done this before and th

  • Tabs in a single column print out slanted

    I have a single column of copy in illustrator and at the end of each line is a page number that is tabed to that point, looks fine but when I print to PDF they come out crocked, even saved the Illustrator copy and droped it into a photoshop file, and