5.3 Firefighter Security Table "New" Comments Field

Since upgrading from 5.2 to 5.3, I noticed that there are new "comments" and sometimes "decription" fields throughout the different FF tables.  I decided to test entering data in these fields.  After doing so in the "comments" area of the "Security" section firefighter, I noticed that the encrypted FF password changed to something else (which was also encrypted).  I tried to invoke the ID where the password had changed and sure enough I received an error that the passord was incorrect.  I changed the password back to what it was supposed to be and it appeared to look just like the other encrypted fields (back to normal).  However, now when I use the ID, a message stating that the ID does not exist appears.
Why did entering data in the "comments" field change the password?  Why do I now get a message that the ID doesn't exist after setting the correct password back up? Has anyone else seen this and is there a fix?
Greg
After entering this message, IE gave an error message "Mismatched address - The security certificate presented to you by this website was issued for a different websites address. This problem may indicate an attempt to fool you or intercept any data that you send to the server".  That's why there are three messages for the same posting.
Edited by: Gregory Cook on Oct 8, 2009 2:58 PM

There is a problem with the site at the moment, the other 2 copies are deleted. The system automatically sends a nasty mail, don't take it personally
Back to the real question...
The reason for this is that the approach to managing the password has changed, but it appears that some misleading error messages are still in the coding.
The password is no longer set once and decrypted to modify the RFC connection on the fly, but rather at each successfull request a new password is generated (albeit using a wrong legacy function module) and used "on the fly" via BAPI_USER_CHANGE and the RFC connection as well.
This makes it look as if the "Comments" field which is immediately before this generation is changing the password hash... but it's not.
This prevents the problem of the admin knowing the password - as you have also stated - and the algorithm being reversed (which is generally possible when using two way encryption / decryption functions, as opposed to one-way-hashes on the server side which are more secure).
The catch is that you now need to set the user's password at each request after successfully generating the password. This procedure in BAPI_USER_CHANGE checks activity '05' of object S_USER_GRP for the FF user's group assignment. If you do not have this authorization yourself, the "on the fly" logon presents a new password to the RFC login screen (the check is remotely disabled so nothing can go wrong...) but the SU01 password has not changed.
The "fix" is to assign this S_USER_GRP authority very carefully and ensure that the requesting user preferably does not have direct access to SU01, SU01_NAV and BAPI_USER_CHANGE themselves. Also make sure that they do not have authority for the debugger (object S_DEVELOP, even is display mode).
Cheers,
Julius

Similar Messages

  • Add comments field to songs

    I have smart playlists that use the comments field in my old songs.   Now the comments field has to be added manually to each song I buy.   Can automatically have that field included?

    I found a very clumsy way to edit those comments I cannot edit otherwise.
    Cut the existing comment and paste it into an application where I can read it.   (edit it)
    Move my cursor to the right of the comment in iTunes and click on the minus that appears, deleting the comment.
    Add a new comment field.
    Try to paste the comment back (worked once, failed the next 3 times I did).
    Type in the new edited comment.

  • Implications of adding new key fields to existing table

    Hi All,
    I have searched forum regarding this. But didn't find exact answer.
    We are planning to add new key fields to existing Ztable. I want to know the implications of this.
    I have checked the where used list of table and found no impact. Only one point is making me to think again and again.
    If we add key fields to existing table then we have to adjust the table from SE14 to activate it. But this adjustment doesn't ask for TR.
    So if i release my TR, entries in other systems will also be adjusted accordingly??? Business is OK with the new fields values to be blank for existing entries.
    Thanks,
    Vinod.

    Yes the data in transported  systems will also be adjusted. If this table contains too much data make transport at late hours because it will take long and table can't be used while it's adjusted. In this adjustment process data is copied to a temporary table and moved back to original table using move-corresponding command after key added. There will data loss if you remove a key or key fields field length but in your case it shouldn't be a problem.
    Edited by: Gungor Ozcelebi on Jul 2, 2009 9:18 AM

  • Custom Table - New Field

    Added SPART in a custom table , I am trying to retrieve an entry from that table where SPART is SPACE. This works fine in DEV, in Q system the select does not work.. What could be the reason ?

    >
    Sridhar Sarva wrote:
    > Added SPART in a custom table , I am trying to retrieve an entry from that table where SPART is SPACE. This works fine in DEV, in Q system the select does not work.. What could be the reason ?
    Are you sure that SPART = SPACE?  I've noticed before that when you add a new character field to an existing table that already contains records, the default value for the new field on the existing records is NULL and not SPACE.  Try replacing the = SPACE with IS NULL.
    If this is the case, I think that if you update the record the default will then be changed from NULL to SPACE.

  • ADF query panel with table, adding new search fields dynamically

    I am a beginner very new to ADF world. I have a ADF query panel with table which has its source from a ViewCriteria. I need to add a new search field on the form dynamically based on the user's need. Assume I am using a Employee table and I have search "employee ID" as one field in the form, upon clicking a add button in the form I need to have a another "employee ID" field appears along with the already existing one.
    I tried to add the condition in ViewCriteria but do not know how to add it ?
    Could some one pls address how it can be approached ?

    User, please always tell us your jdev version.
    Well, this use case need some thinking to be done. What do you want to archive with adding a new query field to the panel? As you said you already have one field for employeeId and now, on a click on a button, you add another one. How would the resulting query work with the new field? Should it use 'and' to concatenate the query or should it use 'or'?
    I suggest that you use the ADF Riche Client Demo (http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx) select the Query node and then select 'af:query'. This shows you what is possible otu of hte box using the af:query component. You can add fields to existing queries in advanced mode (e.g. use system query 5, which starts with an empty panel and allows you to add fields).
    Once you understand how this works you may come back with a more detailed use case description or you have found the solution already. Read the documentation on af:query along with trying otu the component.
    Timo

  • No record found in the table while using condition for the new added field

    Hi,
    I have added a new field in Z table. There is lots of record in the table. The field which I added have null records. When I am checking the record using the condition new field equal(EQ) to space or blank. This shows no record in the table, but when I execute whole of the table, it shows entries for all field.
    Please suggest. Thanks in Advance.
    Rgds,
    Hemant Maurya

    Hi Suhas,
    Thanks for your quick response.
    Yes I have run SE14 and activate & adjust the database, But problem is same.
    My select query is:
    SELECT VBELN
             PI
             GJAHR
             KUNNR
             GPD
             GPI
    INTO TABLE I_GP_DATA
    FROM ZFI_GP_DISCOUNTS
    WHERE AUGDT BETWEEN ZFI_GP_DISCOUNTS-AUGDT AND ZFI_GP_DISCOUNTS-P_DATE
    AND DOC_NO EQ SPACE.
    Thanks & Regards,
    Hemant Maurya

  • Is there a way to mass update or replace the SPM Firefighter IDs table?

    We are upgrading from GRC 5.2 to 5.3.  In 5.3 FF/SPM has added an Owners field to the FF ID table (/virsa/zffusers), which is apparently a required field because I keep getting a "Invalid Firefighter ID Owner" error when I try to look at the table.
    Is there a way to mass update, or perhaps import/replace, this table?  I am having problems trying to update this table thru the FF table screen.  When I go to save my changes, it will return the above error because not all of the FFID records have an assignment in this new Owners field.  We have over 160 FFIDs, so I can't change all of the records at the same time.  I can only get about 20 per screen and it will return that error again when I try to page forward.
    Thanks.

    Hi Bob,
    that is perfectly possible - did it a few times already.
    Export the table from within Firefighter, download the owners table (sorry, need to look up the name tomorrow - but you can't miss it), then add the owners through an Excel vlookup. Then re-import the table in Firefighter, and you're ste.
    I'm at home right now - if you have difficulties getting this done shoot me a message tomorrow and I'll send you more details.
    Frank.

  • How to add new CMP field to CMP bean

    I am back for your amusement. I have seen similar things to this in other postings, but I have not been able to find one that, when action is taken, solves my problem.
    I am using Sun Java Studio Enterprise 7 2004Q4
    Our database changed by adding one new field. I need to update the bean for that table. Since the bean was created from a schema, I thought I need to update the schema first. Having found no way to do that yet, I recreated the schema under a different name, deleted the old one and renamed the new one to the old name. Follow that? :|
    Ok. So now I have a new schema with the old name. I still have the old one in CVS so I can get it back (see I am learning someting).
    I then went to the bean and added a new CMP field. I updated all my code to use the new field accessors. Changed the create method to have one more field and use the accessor.
    Then in the module where the bean is being used I mapped the new field to the field in the database. The CMP is in a relationship with two other beans, but this field is not used (not yet anyway).
    I then compiled and depoyed. Everything went ok. "I am really getting the hang of this EJB stuff", I said to my self. Then I tried to run it.... I should have saved the comment for another time... :(
    I got this message and exception :
    "Validation error in class com.PersonCMPBean685435892_JDOState: com.sun.jdo.api.persistence.model.util.ModelValidationException: Warning: Cannot find the column person.p_umd_id for mapping the field pUmdId in the class com.PersonCMPBean685435892_JDOState.
    Verify that the schema file exists and that its contents are correct."
    com.sun.jdo.api.persistence.support.JDOUserException: The mapping for class com.PersonCMPBean685435892_JDOState is invalid. Compile the class in the IDE, correct any errors, and verify that all required files are packaged for execution.
    The schema exists. The field is in the new schema. Hmmm. I screwed up. Stamp it on my forehead with the others from working with EJB.... :)
    So what did I do wrong? How is this supposed to be done. Is there an easier way to update the schema?
    Any help will be greatly appreciated. Thank you.

    Ok. I found something that works, albeit I don't think it is the recommended way. But since I can't find a recommended way, I will settle for working. This was a suggestion from someone else who had this problem ( http://swforum.sun.com/jive/thread.jspa?forumID=122&threadID=23428 ). But I have broken it down into steps and refined it a bit.
    1. Create a new schema under a different name.
    2. Go to the module that has a bean that is using the old schema.
    3. Find the reference for the bean under the module and look at the properties for the bean.
    4. In the properties in the Sun Java System As section there is a property called Mapped Schema. Change it to the new schema.
    5. deploy
    There's more...
    If you need to have the same name for the schema, like I did because I keep it in CVS, do this:
    6. Shutdown the IDE
    7. Go to the directory where the schema is and rename it to whatever you need (whatever you had originally).
    8. restart the IDE
    9. repeat steps 2-4
    10. restart the IDE again before you deploy!
    I know this is insane. But it is all I could figure out so far. If anybody has something else that is better, please, please, please let me know!

  • Impact of Addition of New Value Fields in the existing Op. Concern-COPA

    Hi All,
    Want to know the steps of adding new value fields in the existing operating concern in COPA?
    What is the overall impact of addition of New Value fields in the running Operating Concern?
    How do we test the addition of new value fields?
    Is the addition of New Value fields to the running Operating Concern advisable?
    Your support and advice is highly anticipated and appreciated.
    Thanks & Regards
    9819528669
    Ohter details are as follows...
    VALUE FIELDS : Defines the Structure of your Costs & Revenues. (Op. Concern 120 Value Fields) 
    1)     The client requires three new value fields to be created. Value fields for :
    -     Other Airport Charges - International
    -     Cargo Commission Cost
    -     Personal Cost (Direct)
    2)     What are the Steps involved in creation of new value fields? The steps are :
    1)     Before creating new value field we need to check whether we can use already existing UNUSED value fields (There are 62 value fields created for the op concern 1000, in production the value fields TBUL1-L7 i.e. to be used (I assume) screen shot1 provided. My predecessor has used value field VV291, VV292, VV380 original description being TBUL3, TBUL4, and TBUL1. I believe he has changed the description in development client and created a transport request ref screen shot 2)
    2)     You can create new value field thru T-Code KEA6 (4-5 characters beginning with VV) u2013 My predecessor has reused the value fields originally created he has not created new one I believe. please provide give your comments)
    3)     Specify whether this field is for Currency or Quantity (currency defined in attribute of op concern and quantity defined by its own field u2013 unit of measure) u2013 My predecessor has configured the three value fields as Currency.
    4)     Describe how the values in this field are aggregated over characteristics. (SUM, LAS, AVG) u2013 My predecessor has aggregated all the three value fields as SUM and they are in Active status.
    5)     After the value field is created you have to add the value field (active status only) to the operating concern by Editing the Data Structure. (I guess this is done in the next step)
    6)     Assign newly created Value fields to the Operating Concern u2013 T-Code KEA0 (In development client the value fields are assigned to the op concern 1000 refer screen shot 3. In the production client also those three value fields exist (does it mean they are assigned? your comments please.) As they have the original description TBUL3, TBUL4, and TBUL1 refer screen shot 4.
    7)     After the Data Structure is defined you need to activate them. (creates plan vs actual database) u2013 Go to the data structure tab and Choose Activate. The status in dev client is Active with correct description but in the production client it is Active with the OLD description. After addition of the value field you need to regenerate the operating concern. T-Code KEA0 u2013 right?
    8)     Condition Types are assigned to Value Fields? Donu2019t know u2013 T-Code KE45 (I think this is NOT required in our case u2013 Please give your comments)
    9)     Define and Assign Valuation Strategy u2013 Cost assigned to Value fields u2013 T-Code KE4U (I think this is also NOT required in our case)
    10)     Define PA Transfer Structure for Settlement u2013 T-Code KEI1 (This step is crucial u2013 I think I have to to include newly created value fields, but am not aware how to do it and what is the connectivity or what happens after this is done)
    Note: My predecessor has created a Transport Request No# KEDK902167 for the value fields created by him.
    3)     Whether my predecessor has performed all the steps for value field creation? How to test it and check that?
    4)     If yes then,  Do I need to perform additional configuration or can I proceed to transport it to Production?
    5)     What is COPA Allocation Structure & PA Transfer Structure? Where and Why It is used?
    6)     What are the different methods of cost and revenue allocations in SAP?
    7)     I have checked the status of the value fields across clients, It is as followsu2026
         Value Field     Value Field For     Description     Development      Quality     Production
    1     VV291     Other Airport Charges International     TBUL3     Exists      DNE     DNE
    2     VV292     Cargo Commission Cost     TBUL4     Exists      DNE     DNE
    3     VV380     Personal Cost u2013 Direct     TBUL1     Exists      DNE     DNE
    #DNE : Does Not Exist (assumed since the description given to value field is not the same as in development client.)

    HI sree,
    ofter creation value field and saving that time reqwest number appeare copy the reqwest number and go through the se01 select that reqwest number select and transport click the truck symbole, and draft a mail to basis guyw.
    Thank You!
    Best Regards,
    pradheep.

  • New Value Field

    Dear Friends,
    We are planning to add new value field in current copa structure, for this I need know :
    1. As soon as we add new value field current operation conern gets deactivated ?
    2. If there is only one server for development and production then as soon as we create value filed in development, what would be the impcat in production client ?
    3. If server is same than transport of value field is required ?
    4. If required then opernation concern shuld be re-generate after transport ?
    5. If server is same then operating concern has to be regenerated in every client ? i.e. dev, testing, preprod, prod.
    and what ever impact would be in this case and also if we have different server for dev nad product. Kindly let me know about you expert comment.
    If there is any risk while regenerate operating concern, also please let me know.
    Thanks
    Ravi

    Hi,
    Activation of Operating concern has two aspects- Cross client and client specific...  for your questions.. if you have operating concern in the same server it is enough if you activate only client specific one..
    On each change of u r datastructure i.e changes to characteristics and value fields u need to generate.. till then it will be in Inactive mode..
    In terms of different systems generally u can transfer the active operating concern on addition of new value field.  However sometimes it may be required to activate specifically..
    Regards
    Sudhakar Reddy

  • New Date field for Vendor Invoices

    The business would like the ability to enter an additional date (date invoice is received by AP) for vendor invoices.  There doesn't seem to be any additional date fields available in the BSEG/BKPF tables.  We want the field available in the TCodes where vendor invoices are entered or parked (FB60, FB65, FV60, FV65, MIRO) We are on ECC 6.0.  Can anyone help answer the following questions:
    Are there fields available for this that I am not aware of
    Have others added new custom fields to any of the above TCodes?
    If it is possible, is the field created in a custom table?  Would we need to create new custom TCodes for the 5 programs used to enter invoices?
    Any details or suggestions would be greatly appreciated.
    Thank you
    Cindy C

    Hi Cynthia
    You can use the Header text fields (XREF or XBLNR) to capture this info
    You can make use of the XREF1 to 3 fields in vendor line item as well to capture this info. Make these fields mandatory in the field status group or use a validation in GGB0
    Another option is you can add a custom field to BKPF table and it will be visible to you in all the transactions you need
    Br. Ajay M

  • Table name and field name

    hi frds
    Give me table name and field name of OPEN PO QUANTITY ..
    thanks
    Pari Vendhan.R

    See the sample code for the open PO's based on Vendor
    and do accordingly
    *& Report ZMM_PO_REPORT
    REPORT ZMM_PO_REPORT message-Id yb
    NO STANDARD PAGE HEADING
    LINE-COUNT 60(1)
    LINE-SIZE 230.
    D A T A B A S E T A B L E S D E C L A R A T I O N
    TABLES: lfa1, " Vendor Master
    t161, " PO Doc Types
    t024, " Purchase Groups
    ekko. " PO Header
    T Y P E S D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
    ebeln TYPE ebeln, " PO No.
    ebelp TYPE ebelp, " PO Item
    bstyp TYPE bstyp, " PO Category
    bukrs TYPE bukrs, " Company Code
    bsart TYPE bbsrt, " PO Type
    lifnr TYPE lifnr, " Vendor No
    ekgrp TYPE bkgrp, " Purchase Group
    waers TYPE waers, " Currency
    bedat TYPE etbdt, " PO Date
    txz01 TYPE txz01, " Material Text
    werks TYPE ewerk, " Plant
    lgort TYPE lgort_d, " Storage Location
    matkl TYPE matkl, " Material Group
    menge TYPE bamng, " PR Quantity
    meins TYPE bamei, " UOM
    bprme TYPE bbprm, " Price Unit
    netpr TYPE netpr, " Net price
    peinh TYPE peinh, " Price Unit UOM
    pstyp TYPE pstyp, " Item Category
    knttp TYPE knttp, " Account Assignment Category
    END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
    ebeln TYPE ebeln, " PO No.
    ebelp TYPE ebelp, " PO Item
    gjahr TYPE mjahr, " Fiscal Year
    belnr TYPE mblnr, " PO Invoice No
    menge TYPE menge_d, " PR Quantity
    wrbtr TYPE wrbtr, " Price in Local Currency
    dmbtr TYPE dmbtr, " Price in Foreign Currency
    waers TYPE waers, " Currency
    shkzg TYPE shkzg, " Dr/Cr Indicator
    END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
    ebeln TYPE ebeln, " PO No.
    ebelp TYPE ebelp, " PO Item
    menge TYPE menge_d, " PR Quantity
    wrbtr TYPE wrbtr, " Price in Foreign Currency
    waers TYPE waers, " Currency
    END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
    lifnr TYPE lifnr, " Vendor No
    ebeln TYPE ebeln, " PO No.
    ebelp TYPE ebelp, " PO Item
    bstyp TYPE bstyp, " PO Category
    bsart TYPE bbsrt, " PO Type
    ekgrp TYPE bkgrp, " Purchase Group
    waers TYPE waers, " Currency
    bedat TYPE etbdt, " PO Date
    txz01 TYPE txz01, " Material Text
    werks TYPE ewerk, " Plant
    lgort TYPE lgort_d, " Storage Location
    matkl TYPE matkl, " Material Group
    menge TYPE bamng, " PR Quantity
    meins TYPE bamei, " UOM
    bprme TYPE bbprm, " Price Unit
    netpr TYPE netpr, " Net price
    peinh TYPE peinh, " Price Unit UOM
    pstyp TYPE pstyp, " Item Category
    knttp TYPE knttp, " Account Assignment Category
    name1 TYPE name1, " Plant
    orewr TYPE netpr, " To be Invoiced Price
    curr TYPE waers, " Inv Doc Currency
    END OF s_rep.
    D A T A D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel, " Report title
    gv_dial. " Color flag
    C O N S T A N T S D E C L A R A T I O N S
    CONSTANTS: c_x VALUE 'X', " Flag X
    c_h VALUE 'H', " Debit
    c_vgabe TYPE vgabe VALUE '2'. " Transaction Type
    I N T E R N A L T A B L E S D E C L A R A T I O N S
    DATA: i_po TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
    " Purchase Order
    i_inv TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
    " PO Invoice Values
    i_rep TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
    " PO Invoice Values
    i_ekbe TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
    " PO Invoice Values
    S E L E C T I O N S C R E E N *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
    s_bsart FOR t161-bsart,
    s_ekgrp FOR t024-ekgrp,
    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
    I N I T I A L I Z A T I O N *
    INITIALIZATION.
    A T S E L E C T I O N - S C R E E N *
    AT SELECTION-SCREEN.
    Validate the screen fields
    PERFORM validate_screen.
    S T A R T - O F - S E L E C T I O N *
    START-OF-SELECTION.
    Fetch main data
    PERFORM fetch_data.
    T O P - O F - P A G E *
    TOP-OF-PAGE.
    Header of the List
    PERFORM header.
    E N D - O F - P A G E *
    Footer
    END-OF-PAGE.
    ULINE.
    E N D - O F - S E L E C T I O N *
    END-OF-SELECTION.
    Display the Report Output data
    PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
    PERFORM line_sel.
    *& Form validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
    CLEAR lfa1-lifnr.
    IF NOT s_lifnr[] IS INITIAL.
    SELECT lifnr UP TO 1 ROWS
    INTO lfa1-lifnr
    FROM lfa1
    WHERE lifnr IN s_lifnr.
    ENDSELECT.
    IF sy-subrc 0.
    MESSAGE e000 WITH 'Invalid Vendor'(002).
    ENDIF.
    ENDIF.
    Validation of PO Number
    CLEAR ekko-ebeln.
    IF NOT s_ebeln[] IS INITIAL.
    SELECT ebeln UP TO 1 ROWS
    INTO ekko-ebeln
    FROM ekko
    WHERE ebeln IN s_ebeln.
    ENDSELECT.
    IF sy-subrc 0.
    MESSAGE e000 WITH 'Invalid Document Number'(003).
    ENDIF.
    ENDIF.
    Validation of PO Document Type
    CLEAR t161-bsart.
    IF NOT s_bsart[] IS INITIAL.
    SELECT bsart UP TO 1 ROWS
    INTO t161-bsart
    FROM t161
    WHERE bsart IN s_bsart.
    ENDSELECT.
    IF sy-subrc 0.
    MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
    ENDIF.
    ENDIF.
    Validation of Purchasing Group
    CLEAR t024-ekgrp.
    IF NOT s_ekgrp[] IS INITIAL.
    SELECT ekgrp UP TO 1 ROWS
    INTO t024-ekgrp
    FROM t024
    WHERE ekgrp IN s_ekgrp.
    ENDSELECT.
    IF sy-subrc 0.
    MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
    ENDIF.
    ENDIF.
    ENDFORM. " validate_screen
    *& Form fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
    CLEAR i_po.
    REFRESH i_po.
    SELECT a~ebeln " PO No.
    b~ebelp " PO Item
    a~bstyp " PO Category
    a~bukrs " Company Code
    a~bsart " PO Type
    a~lifnr " Vendor No
    a~ekgrp " Purchase Group
    a~waers " Currency
    a~bedat " PO Date
    b~txz01 " Material Text
    b~werks " Plant
    b~lgort " Storage Location
    b~matkl " Material Group
    b~menge " PR Quantity
    b~meins " UOM
    b~bprme " Price Unit
    b~netpr " Net price
    b~peinh " Price Unit UOM
    b~pstyp " Item Category
    b~knttp " Account Assignment Category
    INTO TABLE i_po
    FROM ekko AS a JOIN ekpo AS b
    ON a~ebeln = b~ebeln
    WHERE a~ebeln IN s_ebeln AND
    a~lifnr IN s_lifnr AND
    a~ekgrp IN s_ekgrp AND
    a~bsart IN s_bsart AND
    a~bedat IN s_bedat.
    SORT i_po BY ebeln ebelp.
    break-point.
    IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
    CLEAR i_ekbe.
    REFRESH i_ekbe.
    SELECT ebeln " PO No.
    ebelp " PO Item
    gjahr " Fiscal Year
    belnr " PO Invoice No
    menge " PR Quantity
    wrbtr " Price in Local Currency
    dmbtr " Price in Foreign Currency
    waers " Currency
    shkzg " Dr/Cr Indicator
    INTO TABLE i_ekbe
    FROM ekbe
    FOR ALL ENTRIES IN i_po
    WHERE ebeln = i_po-ebeln AND
    ebelp = i_po-ebelp AND
    vgabe = c_vgabe.
    IF sy-subrc = 0.
    SORT i_ekbe BY ebeln ebelp.
    LOOP AT i_ekbe.
    IF i_ekbe-shkzg = c_h.
    i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
    ENDIF.
    MODIFY i_ekbe.
    ENDLOOP.
    break-point.
    Sum up the Item wise Invoice totals
    LOOP AT i_ekbe.
    AT END OF ebelp.
    READ TABLE i_ekbe INDEX sy-tabix.
    SUM.
    MOVE-CORRESPONDING i_ekbe TO i_inv.
    APPEND i_inv.
    ENDAT.
    CLEAR i_inv.
    ENDLOOP.
    SORT i_inv BY ebeln ebelp.
    break-point.
    ENDIF.
    ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
    LOOP AT i_po.
    MOVE-CORRESPONDING i_po TO i_rep.
    CLEAR i_inv.
    READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
    ebelp = i_po-ebelp.
    IF sy-subrc = 0.
    i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
    i_rep-curr = i_inv-waers.
    ELSE.
    i_rep-orewr = i_po-menge * i_po-netpr.
    i_rep-curr = i_po-waers.
    ENDIF.
    break-point.
    Get the Vendor Name
    CLEAR lfa1-name1.
    SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
    WHERE lifnr = i_po-lifnr.
    IF sy-subrc = 0.
    i_rep-name1 = lfa1-name1.
    ENDIF.
    APPEND i_rep.
    CLEAR i_rep.
    break-point.
    ENDLOOP.
    SORT i_rep BY lifnr ebeln ebelp.
    DELETE i_rep WHERE orewr LE 0.
    break-point.
    ENDFORM. " fetch_data
    *& Form display_data
    Display the Report Output data
    FORM display_data .
    DATA: lv_flag, " New Flag
    lv_rec TYPE i. " No of Records
    CLEAR lv_rec.
    IF i_rep[] IS INITIAL.
    MESSAGE e000 WITH 'No Data found'(022).
    ELSE.
    LOOP AT i_rep.
    Toggle Color
    PERFORM toggle_color.
    IF lv_flag space.
    NEW-LINE.
    ENDIF.
    At New Purchase Document
    AT NEW ebeln.
    WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
    lv_flag = c_x.
    lv_rec = lv_rec + 1.
    ENDAT.
    WRITE: 1 sy-vline,
    12 sy-vline,13(4) i_rep-bsart,
    17 sy-vline,18(10) i_rep-lifnr,
    28 sy-vline,29(35) i_rep-name1,
    64 sy-vline,65(4) i_rep-ekgrp,
    69 sy-vline,70(10) i_rep-bedat,
    80 sy-vline,81(5) i_rep-ebelp,
    86 sy-vline,87(40) i_rep-txz01,
    127 sy-vline,128(9) i_rep-matkl,
    137 sy-vline,138(1) i_rep-pstyp,
    139 sy-vline,140(1) i_rep-knttp,
    141 sy-vline,142(4) i_rep-werks,
    146 sy-vline,147(4) i_rep-lgort,
    151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
    165 sy-vline,166(3) i_rep-meins,
    169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
    185 sy-vline,186(4) i_rep-waers,
    190 sy-vline,191(5) i_rep-peinh,
    196 sy-vline,197(4) i_rep-bprme,
    201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
    217 sy-vline,218(4) i_rep-curr,
    222 sy-vline,223(7) i_rep-bstyp centered,
    230 sy-vline.
    NEW-LINE.
    hide: i_rep-ebeln.
    ENDLOOP.
    ULINE.
    FORMAT COLOR OFF.
    WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
    lv_rec COLOR 3.
    ENDIF.
    ENDFORM. " display_data
    *& Form header
    Write the Report Header
    FORM header .
    FORMAT RESET.
    header
    WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
    SKIP.
    FORMAT COLOR COL_HEADING.
    ULINE.
    WRITE:/1 sy-vline,2(10) 'Pur.Doc.No'(006) CENTERED,
    12 sy-vline,13(4) 'Type'(007),
    17 sy-vline,18(10) 'Vendor'(008) CENTERED,
    28 sy-vline,29(35) 'Name'(009) CENTERED,
    64 sy-vline,65(4) 'PGrp'(010) CENTERED,
    69 sy-vline,70(10) 'Doc.Date'(012) CENTERED,
    80 sy-vline,81(5) 'Item'(011),
    86 sy-vline,87(40) 'Material Short Text'(024) CENTERED,
    127 sy-vline,128(9) 'Mat.Group'(013),
    137 sy-vline,138(1) 'I',
    139 sy-vline,140(1) 'A',
    141 sy-vline,142(4) 'Plnt'(014),
    146 sy-vline,147(4) 'SLoc'(015),
    151 sy-vline,152(13) 'Quantity'(016) CENTERED,
    165 sy-vline,166(3) 'UoM'(017),
    169 sy-vline,170(15) 'Net Value'(018) CENTERED,
    185 sy-vline,186(4) 'Curr'(019),
    190 sy-vline,191(5) 'Per'(020),
    196 sy-vline,197(4) 'Unit'(021),
    201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
    217 sy-vline,218(4) 'Curr'(019),
    222 sy-vline,223(7) 'Doc.Cat'(026),
    230 sy-vline.
    ULINE.
    ENDFORM. " header
    *& Form toggle_color
    This routine alters the color of the records in the list FORM toggle_color.
    IF gv_dial = space.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    gv_dial = c_x.
    ELSE.
    FORMAT COLOR 1 INTENSIFIED OFF.
    CLEAR gv_dial.
    ENDIF.
    ENDFORM. " toggle_color
    *& Form LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
    CASE sy-lsind.
    WHEN '1'.
    DATA: lv_field(20),
    lv_value(10),
    lv_bstyp like i_rep-bstyp.
    clear: lv_bstyp,lv_value, lv_field.
    GET CURSOR FIELD lv_field VALUE lv_value.
    IF lv_field = 'I_REP-EBELN'.
    IF NOT lv_value IS INITIAL.
    READ LINE sy-index FIELD VALUE i_rep-bstyp
    INTO lv_bstyp.
    READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
    if lv_bstyp = 'F'.
    SET PARAMETER ID 'BES' FIELD lv_value.
    CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
    SET PARAMETER ID 'VRT' FIELD lv_value.
    CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
    elseif lv_bstyp = 'A'.
    SET PARAMETER ID 'ANF' FIELD lv_value.
    CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
    endif.
    ENDIF.
    ENDIF.
    ENDCASE.
    ENDFORM. " line_sel{code]
    <REMOVED BY MODERATOR>
    kushagra
    Edited by: Alvaro Tejada Galindo on Feb 18, 2008 2:03 PM

  • How to read the comment field of the Leave of absence Workflow.

    Hi,
    I have attached a custom Workflow template  to the
    Standard class "CL_HRASR00_WF_PROCESS_OBJECT" and  event "TRIGGERED" for my Personal leave of absence approval.
    During the Workflow step, once the approval goes to the final approval step and it is there in the Benifit Administrator's inbox (Portal) for approval, the Benift Admin is having an option of Withdrawing the process(Withdraw Process button). After filling the comments field, once he clicks this withdraw button the standard class "CL_HRASR00_WF_PROCESS_OBJECT" event "WITHDRAWN" gets triggered and it calls a separate workflow.
    I need to capture this comment in the new Workflow but not able to do the same.
    Can anyone let me know how can I do this. The event container does have any parameter to pass this value to the workflow container. And since the Step_Object GUID also changes I am unable to read it in the second workflow.
    Looking for some real help as this has become critical for the project.
    Thanks is andvace.

    Hi All,
    Thanks for your reply Trevor, but I guess you misunderstood my question. What I am not looking for is not the absence data. Basically I need to capture the comments put in by the Benifit administrator in the Leave of absence application form (Personal or Maternity/child care ), incase when he goes for withdrawing the Application submitted by the Employee.
    To elaborate it functionality step by step...
    1. An employee logs on to portal and submits a LOA application with a few mandatory field ( Commencing date,Returning Date, Reason).
      This kicks of a Workflow say WF1 attached to
    ABAP Class- CL_HRASR00_WF_PROCESS_OBJECT,  Event- TRIGGERED.
    2. Then after executing a few tasks to retrive data it goes to the Manager for approval. Once the manager appoves it goes to the Benifit Administrator.
    3. The Benifit Administrator can approve the application or has an option of withdrawing it.
    4. In case the Benifit Administrator goes for Withdrawal, after putting some comments in the form, it triggers the Event-WITHDRAWN of ABAP Class-CL_HRASR00_WF_PROCESS_OBJECT.
    5. This event in turn starts a new Workflow WF2.
    6. In this Workflow WF2 I need to pull in the comments put in by the Benifit Admin.
    How can I pull this comment?

  • How to add a new additional field in MIGO

    Dear Sir,
    As a business requirement , we are required to capture some additional information related to Material packing /sizes  at the time of MIGO . This information need to be captured /input at the Item level during the MIGO .
    We request sap gurus , to kindly guide as what steps need to be followed for adding a new field and also will it require a Z-table also to save the data pertaining to new added field .
    Regards
    B Mittal

    Hi ,
    Create a BADI implementation for MB_MIGO_BADI  .
    Create a program with the screen type sub-screen in SE80 and design the layout for the custom fields.
    Declare the custom fields in a Z**TOP include.
    Under the PBO method declare the program name and screen number as shown below: 
    gf_class_id = 'MIGO_BADI_IMPLEMENTATION_CIN'
    e_cprog = <program name>
    e_dynnr = <screen number>.
    e_heading = <heading>
    Under PAI method declare the field to u2018Xu2019. 
    e_force_change = 'X'.
    Under the line modify method declare a flag and set to u2018Xu2019 checking for material document number by which we can set the fields to be in display mode when we open MIGO for display of material document created after doing goods receipt.
    Under the POST_DOCUMENT method write the code for appending the value to Z table along with the values of the line item .For these values to be available here in this method use the memory concept u201CExport to memory idu201D in the method LINE_MODIFY. 
    In order to do any validations to the custom fields, go to transaction SE80 and mention the program Name created and in PROCESS ON VALUE_REQUEST create a module and provide the validations required for those custom Fields. 
    order to make the fields to be in display mode during the display of material document, create a module under PBO and import the flag value in the method LINE_MODIFY and if that flag = u2018Xu2019, use  
    LOOP AT SCREEN.
    IF SCREEN-NAME = <NAME>.
    SCREEN-INPUT = '0'.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
       Retrieve the values from the Z table matching the key field (production order number) and pass the value of the custom field on to the screen.
    Thanks,
    Shailaja Ainala.

  • How to add new text field in standard report

    how to add new text field in standard report?

    Hi,
    I presume you are talking about a report display in ALV and u wish to add a column to it .
    If it is a global requirement ,as in table being used there in ALV can be modified, then you can append the table and the system should pick up the same automatically from there.
    Otherwise , you can make a Z program . Modify the catalog being used in ALV.
    Regards,
    Shweta

Maybe you are looking for

  • MAPPING USING FLAT FILE SOURCE MODULE

    I created a mapping using a flat file as source and a dimension as target, I've already configure both modules and their locations. When I try to deploy this mapping in the deploy manager, it generates the script for the control file and when I hit t

  • Can't get to that JPanel!!!!

    Hi all, I'm creating a drawing app. I've got a JTabbed pane that holds all my drawings. Each tab holds a JScroll pane which in turn is holds my DrawCanvas class (which does the drawing business). Anyway I can't seem to access the draw Canvas - which

  • Itunes 9 store lacks so many features the previous version had

    why were all these features axed? you can no longer see any published dates, see large lists of possible songs when searching for that hard to find song, not being able to drag store track to itunes folder for later purchase (new wish list BLOWS), yo

  • Microsoft Exchange 2007 all of a sudden not syncing up...Help??

    Hi, As of yesterday, it's saying connection failed to server. I have a 3gs and it was working just fine for over a month, not it's not syncing up. I deleted the account and now it says verification failed. My work says it's not on there end. My e-mai

  • Fcp applying settings to a selection of clips

    Hi I have a sequence and want to change the aspect ratio of every clip in that sequence. Can I do this in one go, with out having to select each clip and go through the steps of applying the same settings? (in this case, motion tab> distort>aspect ra