Modify header in the Transaction ME51N

Hi Guys,
Someone do know how to modify the text of the container of the header in ME51N transaction? I tried with some Badis as ME_PROCESS_REQ_CUST, most do not have that measure of change.
Tanks

Hi,
For the BADI
chk this links-
BADI -- ME_REQ_HEADER_TEXT
developing a badi
Check this Exit
MEREQ001-> EXIT_SAPLMEREQ_005.
Check the field for header in this exit.
Hope this solves the issue.
Regards
Lekha

Similar Messages

  • Regarding the BADI ME_REQ_POSTED after saving the tcode ME51N

    Hi,
    Currenlty i am using the badi ME_REQ_POSTED to update the header texts in ME51N while creating the PR.
    I am getting the PR number through IM_EBAN.
    My issue is that i have written the code in the badi to pass the input of that PR number in table RSDBS to get the reservation number.
    But once the transaction ME51N got saved, then only the table RSDBS is getting updated with the generated PR number.
    Is there any way to get updates of the table RSDBS before the transaction got saved.
    Please let me know if my question is not clear.
    Thanks & Regards.
    Prabu

    Hi,
    I don't think this is possible functionally? To achieve this, you need to modify the std code.
    Regards,
    Raj

  • Transactions ME51N & ME52N user exits - saving requisitions

    Hi all. 
    I have a new requirement for disallowing transactions ME51N & ME52N from saving purchase requisition records that have more than one line items associated with each of them.
    Basically upon the user clicking on the 'Save' icon I have to first check the purchasing group screen field (MEREQ3211GRID-EKGRP) of the captured purchase requisition at each event instance.  If the purchasing group matches the one I check for (i.e. the configured one) and the purchase requisition also has more than one line item associated to it then I should skip the posting functionality for this specific purchase requisition and then issue an error dialog message to the user telling him/her that such a transaction is not alllowed.
    Please help me to find the following:
    1) The user exit/BADI to use in order to implement such a change.
    2) The data objects or internal table/(s) that I may use in order to count the number of captured line items for each purchase requisition (e.g. via the 'DESCRIBE' command).
    Thanks in advance!

    Hi Venkatesan,
    I have looked at the definition of this BADI via se18.  The interface has a few parameters which also reference other types higher up in the hierachy.
    Which method do you think would be ideal in order to do the following:
    1) Get the item data count as captured by the user via the transaction ME51N?
    2) Get the item data count as collected from the database (i.e. as previously captured) and changed by the user via transaction ME52N?
    I have to then make changes exactly at these points.
    Thanks again!
    Edited by: L J Langa on Apr 16, 2009 3:00 PM

  • [svn:fx-trunk] 13383: Modify to include the xml header (with encoding) in the DITA xml files.

    Revision: 13383
    Revision: 13383
    Author:   [email protected]
    Date:     2010-01-08 12:04:00 -0800 (Fri, 08 Jan 2010)
    Log Message:
    Modify to include the xml header (with encoding) in the DITA xml files.
    QE notes: None.
    Doc notes: None
    Reviewed By: Pete
    Tests run: checkintests
    Is noteworthy for integration: No
    Modified Paths:
        flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelClassesGenerator.ja va

    Thats good news.

  • I modified the budget categories on the numbers template so now the transaction tab does not communicate with the budget tab. I figured out how to change the drop down options but how do I get it to reflect on my budget sheet? Please help.

    If you are familar with the Numbers Budget Template it has two tabs 'Budget' and 'Transactions'. If you use the template as it is designed when you input expenses on the transaction tab it will automatically add that amount into the selected category on the budget tab. I have madified my budget tab to reflect the caegories that I need, which included adding several to the template. I also added to the table so it reflects my income and expenses so I can track where I am at with a glance. Since I did this, I can't get my transactions tab to communicate with the budget tab. I figured out how to change the options in the drop down box for category but I con't figure out how to get it to reflect onto my budget tab. I'm sure that it is an easy fix, however, I am just not well versed in Numbers. I appreciate your time in helping me with this issue.
    Respectfully,
    Jon

    My guess is that while you added catetories to your Budget Sheet by adding new lines and filling in the category column, you didn't also add the formulas to these new budget lines.
    The proper way to add those lines would have been to select a cell in the line just above where you want to add a line and type Option/Alt-DownArrow. This would have copied the formulas into the new line. Maybe you did this, and maybe not. You didn't give details on how you added the lines.
    Select C2 and D2 and Command-C to copy them to the Clipboard.
    Select all the cells of Columns C and D except for the top and bottom rows and Command-V to Paste.
    If I have properly guessed the problem, you should be in business. This assumes that your Categories are exaclty the same as the entries in your Pop-up menus. Spelling counts, as does case.
    Jerry

  • BADI for the transaction s ME51n and ME52n

    Hi friends,
    Can i get the code and particular  BADI ME51n where the conditions are
    In the purchase requisition the field (EBAN- PREIS) valuation price is configured as “required”, and the value is adopted from the material master record field (MBEW-VERPR) moving price. This moving price may differ on the same material based on the assigned plant. For example:
    Material Plant Moving Price
    1234 1000 9.10
    TA10 5.00
    TA12 7.00
    The plant field in the Purchase Requisition is mandatory except for document type RV. When this document type is assigned SAP doesn’t know which moving price to apply and so the user is prompted to manually enter a value.
    To ensure an appropriate value is entered SAP should apply the value from the material master record plant 1000 where the plant field in the RV Purchase Requisition field is blank.
    Essentially the same scenario applies to the Purchasing Group. As with the plant, the Purcahsing Group should be copied from the plant 1000 material master record.
    SAP should apply the value from the material master record plant 1000 where the plant in the RV Purchase Requisition (EBAN-WERKS) is blank:
    EBAN- PREIS = MBEW-VERPR
    EBAN-EKGRP = MARC-EKGRP
    Charita

    hi charitha
    i can help u out in getting the values to the fields mentioned irrespective of document type which u can do i think and i'm here with the piece of code as follows :
    Go to se19 to implement badi and give the name say zxyz and give the definition name as me_process_req_cust and implement the method called process_item
    and write the following code.
    data : wa_item type mereq-item,
             v_ekgrp type marc-ekgrp,
           v_preis type mbew-verpr.
    select single ekgrp
                         from marc
                        into (v_ekgrp)
                      where werks = '1000' and matnr = '100-100'.
    select single verpr
                       from mbew
                     into (v_preis)
                     where matnr = '100-100'
                       and bwkey = '000'.
    call method im_item->get_data
    receiving
    re_data = wa_item.
    wa_item-ekgrp = v_ekgrp.
    wa_item-preis = v_preis.
    wa_item-waers = 'INR'.
    if im_count = 1.
    call method im_item->set_data
    exporting
    im_data = wa_item.
    endif.
    hope this code will help in passing the data to the tcode me51n and if any issues let me know.
    reward point if helpful
    sandhya

  • Modify the transaction OAAR Production environment

    Dear
    We need to change the transaction to open OAAR period of depreciation. But faced with the message that the client is closed. I talked with my staff to open this transaction basis in production but they failed. Does anyone have any idea how this transaction would be opened in production?
    Any help is welcome
    Sorry for my english

    Hi,
    In OAAR - you can change the closed period as per depreciation area level and in OAAQ it would change for all the areas.
    You have any specific depreciation area where you need to open up the closed year?

  • Using exit/BADI  to create settlement for the Transaction COR1

    Hi Experts,
    My Requirement is when we are creating Process Order in the Transaction COR1, Settlement Rule will be automatically created by using some User Exit or BADI to assign the cost centre, account assignment category, and settlement percentage for the setup to the Settlement Rule.
    I have tried with the User Exit: EXIT_SAPLKOBS_001 Enhancement COOM0003 and also tried with EXIT_SAPLCOI1_027 enh. IWO10027.
    The Problem is above mentioned User Exit are not triggering though I have activated project.
    What is wrong with my exit or please let us know correct User Exit or BADI?
    I appreciate every help.
    Thank you.
    Nimai

    Try with below Exits related to COR1 transaction.
    Exit Name      Description
    CCOWB001     Customer exit for modifying menu entries
    COIB0001     Customer Exit for As-Built Assignment Tool
    COZF0001     Change purchase req. for externally processed operation
    COZF0002     Change purchase req. for externally procured component
    PPCO0001     Application development: PP orders
    PPCO0002     Check exit for setting delete mark / deletion indicator
    PPCO0003     Check exit for order changes from sales order
    PPCO0004     Sort and processing exit: Mass processing orders
    PPCO0005     Storage location/backflushing when order is created
    PPCO0006     Enhancement to specify defaults for fields in order header
    PPCO0007     Exit when saving production order
    PPCO0008     Enhancement in the adding and changing of components
    PPCO0009     Enhancement in goods movements for prod. process order
    PPCO0010     Enhancement in make-to-order production - Unit of measure
    PPCO0012     Production Order: Display/Change Order Header Data
    PPCO0013     Change priorities of selection crit. for batch determination
    PPCO0015     Additional check for document links from BOMs
    PPCO0016     Additional check for document links from master data
    PPCO0017     Additional check for online processing of document links
    PPCO0018     Check for changes to production order header
    PPCO0019     Checks for changes to order operations
    PPCO0021     Release Control for Automatic Batch Determination
    PPCO0022     Determination of Production Memo
    PPCO0023     Checks Changes to Order Components
    STATTEXT     Modification exit for formatting status text lines
    Regards,
    Saurabh

  • User exists for changing the selection screen of the transaction CS11

    Hi,
    I want to change the selection screen of the transaction cs11 and modify the ALV output.
    I searched the old forums but not got satisfactry results.
    I want to change the plant and material from the parameter to the select option.
    i dont want to copy the transaction for the zcs11.
    any suggestion on this ?
    Regards,
    udupi

    one more requirement i have is that, i need to remove all the header fields such as material , plant etc and place that field in the item level. i can use the user exists PCSD0002 for the adding the customer field in the item. but how can i removed the header level field such as plant and material. whether we have any user exits for that?

  • Insertion of an attachment file with transaction ME51N

    Good morning,
    Using transaction ME51N, I try to insert an attachment in the header
    note (using GOS services)
    Depending of the documents I try to insert I get the message :
    "Include file in PC application - Try again? " in a pop-up
    (file is not open and  I have SAP_ALL SAP_NEW in my authorization profile).
    OR
    I get the message : "Document created" but nothing is created : the
    attachmment list cannot be accessed.
    Insertion of the file works with ME52N.
    Should work with ME51N and ECC6, since support package version is OK  (note 913251)
    Can you help me?
    Best regards.

    Pb of firewall, not SAP.

  • Warning: Cannot modify header information..../includes/common/KT_functions.inc.php on line 465

    Hi,
    I've moved a website from a server to another, and have got this little issue,
    I've a form witch gets submit and the user redirects to a "thank you" page, on the submittion I've added mail send so I get an email when the form is submitted, the mail part works fine, I get the emails. but after clicking the submit button this error comes up instead of redirecting to the thank you page.
    Warning:  Cannot modify header information - headers already sent by (output started at ..../index.php:79) in /...../includes/common/KT_functions.inc.php on line 465
    This is the KT_functions.inc.php part,
    function KT_redir($url) {
        $protocol = "http://";
        $server_name = $_SERVER["HTTP_HOST"];
        if ($server_name != '') {
            $protocol = "http://";
            if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == "on")) {
                $protocol = "https://";
            if (preg_match("#^/#", $url)) {
                $url = $protocol.$server_name.$url;
            } else if (!preg_match("#^[a-z]+://#", $url)) {
                $script = KT_getPHP_SELF();
                if (isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] != '' && $_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) {
                    $script = substr($script, 0, strlen($script) - strlen($_SERVER['PATH_INFO']));
                $url = $protocol.$server_name.(preg_replace("#/[^/]*$#", "/", $script)).$url;
                    session_write_close();
            $url = str_replace(" ","%20",$url);
            if (KT_is_ajax_request()) {
                header("Kt_location: ".$url);
                echo "Redirecting to: " . $url;
            else {
                header("Location: ".$url);
        exit;
    I'm not a coder and appreciate any help.
    Thanks in advance.

    addField("fornamn", true, "text", "", "", "", "Vänligen skriv ditt namn"); $formValidation->addField("efternamn", true, "text", "", "", "", "Vänligen skriv efternamn"); $formValidation->addField("gatu", true, "text", "", "", "", "Vänligen skriv gatuadress"); $formValidation->addField("postnummer", true, "text", "", "", "", "Vänligen ange postnummer"); $formValidation->addField("ort", true, "text", "", "", "", "Vänligen skriv ort"); $formValidation->addField("telefon", true, "numeric", "int", "5", "", "Vänligen skriv ett giltilgt telefon nummer"); $formValidation->addField("epost", true, "text", "email", "", "", "Vänligen skriv en e-post adress. dit skickar vi status på din service"); $tNGs->prepareValidation($formValidation); // End trigger //start Trigger_SendEmail trigger //remove this line if you want to edit the code by hand function Trigger_SendEmail(&$tNG) {   $emailObj = new tNG_Email($tNG);   $emailObj->setFrom("[email protected]");   $emailObj->setTo("{epost}");   $emailObj->setCC("");   $emailObj->setBCC("[email protected]");   $emailObj->setSubject("Upplåsning: {modell} Nr: {id}");   //WriteContent method   $emailObj->setContent("Hej {fornamn},
    \n");   $emailObj->setEncoding("UTF-8");   $emailObj->setFormat("HTML/Text");   $emailObj->setImportance("Normal");   return $emailObj->Execute(); } //end Trigger_SendEmail trigger if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);   switch ($theType) {     case "text":       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";       break;        case "long":     case "int":       $theValue = ($theValue != "") ? intval($theValue) : "NULL";       break;     case "double":       $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";       break;     case "date":       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";       break;     case "defined":       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;       break;   }   return $theValue; } } $colname_phone = "-1"; if (isset($_GET['mobil_id'])) {   $colname_phone = $_GET['mobil_id']; } mysql_select_db($database_wd, $wd); $query_phone = sprintf("SELECT * FROM mobiler WHERE id = %s", GetSQLValueString($colname_phone, "int")); $phone = mysql_query($query_phone, $wd) or die(mysql_error()); $row_phone = mysql_fetch_assoc($phone); $totalRows_phone = mysql_num_rows($phone); // Make an insert transaction instance $ins_bestall = new tNG_insert($conn_wd); $tNGs->addTransaction($ins_bestall); // Register triggers $ins_bestall->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1"); $ins_bestall->registerTrigger("BEFORE", "Trigger_Default_FormValidation", 10, $formValidation); $ins_bestall->registerTrigger("END", "Trigger_Default_Redirect", 99, "http://domain.com/---------.html"); $ins_bestall->registerTrigger("AFTER", "Trigger_SendEmail", 98); // Add columns $ins_bestall->setTable("bestall"); $ins_bestall->addColumn("fornamn", "STRING_TYPE", "POST", "fornamn"); $ins_bestall->addColumn("deb", "STRING_TYPE", "POST", "deb", "{phone.deb}"); $ins_bestall->addColumn("efternamn", "STRING_TYPE", "POST", "efternamn"); $ins_bestall->addColumn("gatu", "STRING_TYPE", "POST", "gatu"); $ins_bestall->addColumn("postnummer", "STRING_TYPE", "POST", "postnummer"); $ins_bestall->addColumn("ort", "STRING_TYPE", "POST", "ort"); $ins_bestall->addColumn("telefon", "NUMERIC_TYPE", "POST", "telefon"); $ins_bestall->addColumn("epost", "STRING_TYPE", "POST", "epost"); $ins_bestall->addColumn("modell", "STRING_TYPE", "POST", "modell"); $ins_bestall->addColumn("imei", "STRING_TYPE", "POST", "imei"); $ins_bestall->setPrimaryKey("id", "NUMERIC_TYPE"); // Execute all the registered transactions $tNGs->executeTransactions(); // Get the transaction recordset $rsbestall = $tNGs->getRecordset("bestall"); $row_rsbestall = mysql_fetch_assoc($rsbestall); $totalRows_rsbestall = mysql_num_rows($rsbestall); ?>  displayValidationRules();?> getErrorMsg(); ?>
    Modell:
    Pris:
    ------: Kr      -----      ----- ----
    Postförskott (Vi bjuder på postförskotts avgiften)       
    Förnamn:
              displayFieldHint("fornamn");?> displayFieldError("bestall", "fornamn"); ?>
    Efternamn:
              displayFieldHint("efternamn");?> displayFieldError("bestall", "efternamn"); ?>
    Gatuadress:
              displayFieldHint("gatu");?> displayFieldError("bestall", "gatu"); ?>
    Postnummer:
              displayFieldHint("postnummer");?> displayFieldError("bestall", "postnummer"); ?>
    Ort:
              displayFieldHint("ort");?> displayFieldError("bestall", "ort"); ?>
    Telefon:
              displayFieldError("bestall", "telefon"); ?>
    E-Post:
               displayFieldError("bestall", "epost"); ?>
              displayFieldHint("modell");?> displayFieldError("bestall", "modell"); ?>
    IMEI:
                    displayFieldHint("imei");?> displayFieldError("bestall", "imei"); ?>         -----.
    Debranding:
                Ja                        Nej
              ------           ";         }        else{           echo "Denna telefon kan ej debrandas!    Nej";         }?>         
    Here is the complete code for the form page, I've replaced some textes with "-------------"

  • How to find out the Transactions used per month & the USER who used that

    Hi,
    1)How to find out the Transactions used per month & the USER who used that?
    2)and can i get the above same for minimum 20 month?
    System : SAP- Enterprise Core Component.

    You can use my program...
    *& Report  Z_ABAP_TCODE_MONITOR
    *****&  Program Type          : Report                                 *
    *****&  Title                 : Z_ABAP_TCODE_MONITOR                   *
    *****&  Transaction code      : ZTCODE_USAGE                           *
    *****&  Developer name        : Shailendra Kolakaluri                  *
    *****&  Deveopment start date : 26 th Dec 2011                         *
    *****&  Development Package   : ZDEV                                   *
    *****&  Transport No          : DEVK906086                                       *
    *****&  Program Description   : This program is to display
    *List all tcodes executed during previous day.
    *& Show the number of users executing tcodes
    *& Modification history
    REPORT  Z_ABAP_TCODE_MONITOR.
    *& List all tcodes executed during previous day.
    *& Show the number of users executing tcodes
    TYPE-POOLS : slis.
    DATA: ind TYPE i,
          fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          layout TYPE slis_layout_alv,
          variant TYPE disvariant,
          events  TYPE slis_t_event WITH HEADER LINE,
          heading TYPE slis_t_listheader WITH HEADER LINE.
    *REPORT  z_report_usage.
    TYPES: BEGIN OF zusertcode,
      date   TYPE swncdatum,
      user   TYPE swncuname,
      mandt     TYPE swncmandt,
      tcode     TYPE swnctcode,
      report TYPE swncreportname,
      count     TYPE swncshcnt,
    END OF zusertcode.
    *data   : date type n.
    DATA: t_usertcode  TYPE swnc_t_aggusertcode,
          wa_usertcode TYPE swncaggusertcode,
          wa           TYPE zusertcode,
          t_ut         TYPE STANDARD TABLE OF zusertcode,
          wa_result    TYPE zusertcode,
          t_result     TYPE STANDARD TABLE OF zusertcode.
    PARAMETER: month TYPE dats DEFAULT sy-datum.
    *PARAMETER: date TYPE dats.
    *select-options : username for wa_usertcode-account.
    START-OF-SELECTION.
    PERFORM get_data.
    PERFORM get_fieldcatalog.
      PERFORM set_layout.
    PERFORM get_event.
    PERFORM get_comment.
      PERFORM display_data.
    FORM get_data .
    *date = sy-datum - 2 .
    After start-of-selection add this line (parameter Month required 01 as day).
      concatenate month+0(6) '01' into month.
      CALL FUNCTION 'SWNC_COLLECTOR_GET_AGGREGATES'
        EXPORTING
          component     = 'TOTAL'
          ASSIGNDSYS    = 'DEV'
          periodtype    = 'M'
          periodstrt    = month
        TABLES
          usertcode     = t_usertcode
        EXCEPTIONS
          no_data_found = 1
          OTHERS        = 2.
      wa-date  = month.
    *wa-date  = date.
      wa-mandt = sy-mandt.
    wa_usertcode-account = username.
      LOOP AT t_usertcode INTO wa_usertcode.
        wa-user = wa_usertcode-account.
        IF wa_usertcode-entry_id+72 = 'T'.
          wa-tcode  = wa_usertcode-entry_id.
          wa-report = space.
        ELSE.
          wa-tcode  = space.
          wa-report = wa_usertcode-entry_id.
        ENDIF.
        COLLECT wa INTO t_ut.
      ENDLOOP.
      SORT t_ut BY report ASCENDING.
      CLEAR: wa, wa_result.
    endform.
    FORM get_fieldcatalog .
    fcat-tabname     = 't_ut'.
    fcat-fieldname   = 'DATE'.
    fcat-seltext_l   = 'Date'.
    fcat-key         = 'X'.
    APPEND fcat.
      CLEAR fcat.
      fcat-tabname     = 't_ut'.
      fcat-fieldname   = 'MANDT'.
      fcat-seltext_l   = 'Client'.
      fcat-key         = 'X'.
      APPEND fcat.
      CLEAR fcat.
      fcat-tabname     = 't_ut'.
      fcat-fieldname   = 'USER'.
      fcat-seltext_l   = 'User Name'.
      fcat-key         = 'X'.
      APPEND fcat.
      CLEAR fcat.
      fcat-tabname     = 't_ut'.
      fcat-fieldname   = 'TCODE'.
      fcat-seltext_l   = 'Transaction Code'.
      fcat-key         = 'X'.
      APPEND fcat.
    ENDFORM.
    *&      Form  SET_LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM set_layout .
      layout-colwidth_optimize = 'X'.
    ENDFORM.                    " SET_LAYOUT
    *&      Form  GET_EVENT
          text
    -->  p1        text
    <--  p2        text
    *FORM get_event .
    events-name = slis_ev_top_of_page.
    events-form = 'TOP_OF_PAGE'.
    APPEND events.
    *ENDFORM.                    " GET_EVENT
    **&      Form  GET_COMMENT
          text
    -->  p1        text
    <--  p2        text
    *FORM get_comment .
    DATA: text(30).
    text = 'Billing Report'.
    heading-typ = 'H'.
    heading-info = text.
    APPEND heading.
    *ENDFORM.                    " GET_COMMENT
    **&      Form  top_of_page
          text
    -->  p1        text
    <--  p2        text
    *FORM top_of_page .
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
         it_list_commentary       = heading[]
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
    *ENDFORM.                    " top_of_page
    *&      Form  DISPLAY_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM display_data .
      sort t_ut[].
    DELETE ADJACENT DUPLICATES FROM t_ut[] COMPARING ALL FIELDS.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = sy-cprog
          is_layout          = layout
          it_fieldcat        = fcat[]
          i_save             = 'A'
          is_variant         = variant
          it_events          = events[]
        TABLES
          t_outtab           = t_ut
        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.
    ENDFORM.                    " DISPLAY_DATA

  • Looking for a sort of "activity code" in transactions ME51N/ME52N/ME53N

    Hi all experts, got an - I hope - interesting question to ask you.
    I have an user exit that is executed on every step done in creation/modify of a Purchase requisition. In this code (custom), executed from the transactions ME51(n)/ME52(n) and ME53(n) there's something like:
    GET PARAMETER ID 'BAN' FIELD r_banfn. "Purchase Requisition number
    GET PARAMETER ID 'BFC' FIELD r_frgab. "Release strategy
    r_banfn should contain the number of the purchase requisition I'm working on. So far, so good.
    The problem is that if in ANY transaction I press the New Document button, I can notice in debug that r_banfn contains the number of the purchase requisition that WAS active before pressing the "create new" button.
    That's not good because that r_banfn value is then used to some checks, and should then be blank in case of creation of a new purchase requisitions.
    I'm then asking you if there's a way in my user exit to distinguish between the two cases, which are:
    -1- I'm modifying an existing purchase requisition (so, the field in r_banfn IS correct);
    -2- I'm CREATING a new document (so, r_banfn value is NOT correct and should be set to blank).
    This distinction must be coded into the previously cited user exit and should affect ME51(n), ME52(n) and ME53(n), from which the user can either create a new RdA or modify an existing one.
    We tried to manage the situation as follow, but without success:
    IF NOT r_banfn IS INITIAL.
      CALL FUNCTION 'ENQUEUE_EMEBANE'
           EXPORTING
                banfn          = r_banfn
           EXCEPTIONS
                foreign_lock   = 1
                system_failure = 2
                OTHERS         = 3.
      IF sy-subrc NE 0.
    * Can't lock --> means I'm actually working in modify mode on it
    * leave it as is
      ELSE.
    * locked --> that means I'm not working on this purchase requisition
    * first dequeue the locked purchase req, then set r_banfn to blank.
        CALL FUNCTION 'DEQUEUE_EMEBANE'
             EXPORTING
                  banfn = r_banfn.
    *   clear the variable -> I'm in CREATE mode.
        CLEAR r_banfn.
      ENDIF.
    ENDIF.
    The code is quite self-explaining but doesn't work because it seems that the "enqueue" phase goes ok even tho we're working on modification on the purchase requisition.
    I'm guessing if there's a sort of "activity code" (create? modify? view?) I can catch @ runtime to solve this task.
    Thanks in advance, as usual
    Matteo
    Edited by: Matteo Montalto on Mar 19, 2009 5:15 PM
    Sorry, I edited the title in order to make it more explicative. :-P

    >
    Hi Sandipan, sorry for the late, I tried to manage this task but without success.
    The user exit I'm working on in EXIT_SAPLBBPK_001.
    FUNCTION EXIT_SAPLBBPK_001.
    *"*"Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(IM_BBPDECDATA) LIKE  BBPDECDATA STRUCTURE  BBPDECDATA
    *"     VALUE(IV_MANU_PROF) TYPE  MANPRC OPTIONAL
    *"  CHANGING
    *"     VALUE(CH_PROFILE) LIKE  T160EX-EPROFILE
      INCLUDE ZXBBPU04.
    ENDFUNCTION.
    It includes ZXBBPU04, in which I have to understand if I'm working on a Purch. requisition in MODIFY mode or in CREATE mode.

  • Modify Header in XML report

    There is an example in the users manual to modify the report header by using a callback, Chapter 10-12 Adding to a Report Using Callbacks. Will this work for xml reports in TS 3.1? I don't have any experience with xml, but need to add text and possibly an image to the header of a report.  My attempts so far do not generate any errors, but do not output anything to the report. I can break on the statement in the callback so I know it is called as the report is generated.

    XML is a language designed to contain data with no information on how to present it.  You can open the XML report in notepad to see what the raw XML data looks like.  You'll notice it is far different than how you view the report.  To make the data more presentable, a style sheet (XSL) is used to translate the data.  This converts XML data into a HTML document to present the data in a more user-friendly way.  The style sheets are completely customizable.  If you wish to display a picture, you would need to modify the style sheet.  You also may need to modify the header of the XML document to describe what picture should be displayed.  These tasks are not trivial for beginners in XML.
    For more information on XML, i would recommend http://www.w3.org/XML/.
    Allen P.
    NI

  • How to get header in the ALV report

    Hi
    I want to print header in the ALV report.But i am not getting that.Plz see my program it is getting error and also not printing header.If there is any error means plz give me the solution.In this program there is an error.
    REPORT  ZREPORT_ALV .
    TYPE-POOLS : slis.
    tables:vbak,vbap.
    DATA:  report_id LIKE sy-repid.
    DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
    data: heading        TYPE slis_t_listheader,
          wa_header      TYPE slis_listheader,
         events         TYPE slis_t_event.
    data: l_string type c.
    data: ivariant(1) type c,
          itvariant like disvariant,
          w_variant like disvariant.
    initialization.
    REPORT_ID = SY-REPID.
    PERFORM pgm. "F1000_LAYOUT_INIT. "using I_LAYOUT.
    ivariant = 'A'.
    *PERFORM init.
    itvariant = w_variant.
    select-options:so_vbeln for vbap-vbeln.
    data:itab like vbak occurs 0 with header line.
    data:itab1 like vbap occurs 0 with header line.
    start-of-selection.
    select * from vbak into table itab where vbeln in so_vbeln.
    if not itab[] is initial.
    select * from vbap into table itab1
    for all entries in itab
    where vbeln = itab-vbeln.
    endif.
    data:ls_fieldcat TYPE slis_fieldcat_alv,
    lt_fieldcat1  TYPE slis_t_fieldcat_alv.
    ****For alv display
    IF NOT itab1[] IS INITIAL.
       DEFINE ls_fieldcat.
       add 1 to ls_fieldcat-col_pos.
        ls_fieldcat-fieldname    = &1.
        ls_fieldcat-outputlen    = &2.
        ls_fieldcat-seltext_l    = &3.
         ls_fieldcat-emphasize  = &4.
        append ls_fieldcat to lt_fieldcat1.
        clear ls_fieldcat.
      END-OF-DEFINITION.
        ls_fieldcat 'VBELN'           '10'     'Sales Order Number'.
       ls_fieldcat 'POSNR'           '6'        'SO Item'.
        ls_fieldcat 'MATNR'           '13'      'Material No'.
    m_fieldcat1 'NETWR'           '13'        'Amount'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
      I_CALLBACK_PROGRAM                = sy-repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
    I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
       IS_LAYOUT                         =  I_LAYOUT
       IT_FIELDCAT                       =  lt_fieldcat1
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =   ITVARIANT
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          =  itab1
    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.
    endif.
    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
    EXPORTING
       I_SAVE              = ivariant
      CHANGING
       CS_VARIANT          = itvariant
    EXCEPTIONS
      WRONG_INPUT         = 1
      NOT_FOUND           = 2
      PROGRAM_ERROR       = 3
      OTHERS              = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    FORM  pgm. "F1000_LAYOUT_INIT. "USING I_LAYOUT TYPE SLIS_LAYOUT_ALV.
    CLEAR I_LAYOUT.
    i_layout-colwidth_optimize = 'X'.
    I_LAYOUT-key_hotspot = u2018Xu2019.
    I_LAYOUT-hotspot_fieldname =  MATNR.
    ENDFORM.
    *regarding logo and header,,,,
    *first store the logo in T-code OAOR, then call that in your report.....
    *data: heading        TYPE slis_t_listheader,
         wa_header      TYPE slis_listheader,
        events         TYPE slis_t_event.
    To display TOP_OF_PAGE.
    FORM top_of_page.
      DATA : text(40),txtdt(40).
      CLEAR l_string.
      l_string = 'JCB India Limited'(hd2).
      wa_header-typ  = 'H'.
      wa_header-info = l_string.
      APPEND wa_header TO heading.                              " index 1.
      CLEAR l_string.
      WRITE :'Number of records:' TO text,'dbcnt' TO text+20 LEFT-JUSTIFIED.
      wa_header-typ  = 'S'.
      wa_header-info = text.
      APPEND wa_header TO heading.
    CLEAR l_string.
    wa_header-typ  = 'S'.
    WRITE : 'Report Run Date  :' TO txtdt,sy-datum TO txtdt+20 DD/MM/YY.
    WRITE sy-datum TO dat DD/MM/YY.
    wa_header-info = txtdt.
    APPEND wa_header TO heading.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
         i_logo             = 'ENJOYSAP_LOGO'
          it_list_commentary = heading.
      CLEAR heading.
    ENDFORM.                    "top_of_page
    *to execute top-of-page you have to create events.
    *for ex......
    FORM create_event USING p_events TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = p_events.
      READ TABLE p_events WITH KEY name = slis_ev_top_of_page
                             INTO ls_event.
      IF sy-subrc = 0.
        MOVE formname_top_of_page TO ls_event-form.
        APPEND ls_event TO p_events.
      ENDIF.
    ENDFORM.                    " create_event

    Hi,
       Find below code for your question, you may get some idea,,
    *& Report  ZACTIONGRIDPRACTICE
    REPORT  ZACTIONGRIDPRACTICE.
    *data declarations.....
    TYPE-POOLS SLIS.
    TABLES : T529T ,PA0000.
    data : gd_repid type  sy-repid.
    DATA : LD_COLOR(10) TYPE N.
    DATA : GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV.
    Data:  is_fieldcat TYPE slis_fieldcat_alv.
    DATA : GD_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA : GD_DATUM TYPE DATUM.
    DATA : BEGIN OF WA_TABLE,
                    MASSN TYPE T529T-MASSN,
                    MNTXT TYPE T529T-MNTXT,
                    userg type userg,
                    TOTAL TYPE I ,
                    begda type begda,
                    endda type endda,
                    april type i,
                    SLNO TYPE I,
                      LINE_COLOR(4) TYPE C,
                    END OF WA_TABLE,
                    IT_TABLE LIKE TABLE OF WA_TABLE.
    data : april type i.
    DATA : TEMP TYPE C.
    data :    LT_PA0000 TYPE TABLE OF PA0000,
              LT_PA0000_T typE TABLE OF PA0000 with header line.
    DATA : IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
            WA_FCAT LIKE LINE OF IT_FCAT.
    DATA : IT_EVENTS TYPE SLIS_T_EVENT,
            WA_EVENTS LIKE LINE OF IT_EVENTS.
            wa_events-form = 'HEADER'.
    WA_EVENTS-NAME = 'TOP_OF_PAGE'.
    APPEND WA_EVENTS TO IT_EVENTS.
    PERFORM HEADER.
    DATA : SLNO TYPE I.
    DATA : lv_output      TYPE  dats.
    CALL FUNCTION 'ZHR_RE_BE_CALC_START_DATE'
      EXPORTING
        id_daberi   = sy-datum
      IMPORTING
        ed_date_cor = lv_output.
    select-options...
    selection-screen BEGIN OF BLOCK B WITH FRAME TITLE TEXT-003.
    select-options : s_date for sy-datum OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B.
    lv_output = sy-datum - 27.
    INITIALIZATION.
    S_DATE-LOW = lv_output.
    S_DATE-HIGH = SY-DATUM.
    S_DATE-SIGN = 'I'.
    S_DATE-OPTION = 'BT'.
    APPEND s_date.
    *AT SELECTION-SCREEN ON S_DATE.
    *SELECT MASSN INTO TABLE IT_TABLE FROM PA0000 WHERE BEGDA IN S_DATE.
    *SELECT STATEMENTS....
    start-of-selection.
      SELECT   t529t~MASSN t529t~MNTXT  INTO TABLE IT_table  FROM T529T where SPRSL EQ 'E' and t529t~massn in ('10','13','16','20','28','30','45','01','03') .
    DATUM IN S_DATE.
    PERFORM LAYOUT.
      loop at it_table into wa_table.
    LD_COLOR = 2.
      LD_COLOR = LD_COLOR + 1.
    if LD_COLOR = 8.
    LD_COLOR = 1.
    endif.
    concatenate 'C' '1' '11'  into wa_table-LINE_COLOR . "='C410'.
    modify it_table from wa_table.
    endloop.
      LOOP AT IT_TABLE INTO WA_TABLE." = 'C410'.
    select massn from pa0000 into table lt_pa0000 where begda in s_date and  massn = wa_table-massn.
    *write : / sy-dbcnt.  gt s_date-low and endda lt s_date-high
    *DESCRIBE TABLE LT_PA0000_t LINES LV_LINES.
    move sy-dbcnt to wa_table-total.
    READ TABLE lt_pa0000 INTO LT_PA0000_T WITH KEY MASSN = wa_TABLE-MASSN BINARY SEARCH.
    DESCRIBE TABLE LT_PA0000_t LINES LV_LINES.
    MOVE  LV_LINES to  wa_TABLE-TOTAL.
      MODIFY IT_TABLE FROM WA_TABLE.
    MOVE SY-TABIX TO WA_TABLE-SLNO.
      MODIFY IT_TABLE FROM WA_TABLE.
    REFRESH : LT_PA0000_t.
    CLEAR : LV_LINES.
      ENDLOOP.
    loop at it_table into wa_table.
    SELECT MASSN FROM PA0000 INTO TABLE lt_pa0000 where begda between '01.02.2008' and '20.02.2008'.
    MOVE SY-DBCNT TO   WA_TABLE-APRIL.
    MODIFY IT_TABLE FROM WA_TABLE.
    *endloop.
    *PERFORM STATEMENTS...
    PERFORM FCAT USING '1' 'MASSN' 'ACTIONCODE'.
    PERFORM FCAT USING '2' 'MNTXT' 'ACTION TYPE'.
    PERFORM fcat USING '3' 'TOTAL' 'TOTAL'.
    DEFINE m_fieldcat.
        is_fieldcat-fieldname = &1.
        is_fieldcat-hotspot = &2.
        is_fieldcat-seltext_m = &3.
        is_fieldcat-col_pos = &4.
        is_fieldcat-outputlen = &5.
        is_fieldcat-hotspot = &6.
        append is_fieldcat to it_fcat.
        clear is_fieldcat.
      END-OF-DEFINITION.
       m_fieldcat 'SLNO' '' Text-012 '1' '17'  ''.
      m_fieldcat 'MASSN' '' Text-010 '2' '40'  ''.
      m_fieldcat 'MNTXT'  ''  Text-009  '3' '50' ''  .
      m_fieldcat 'TOTAL'  ''  Text-011  '4' '10' 'X'.
      m_fieldcat 'april'  ''  Text-013  '5' '10' 'X'.
    *FOR DISPLAYING THE RECORDS...
    gd_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM                = gd_repid
      IS_LAYOUT = GD_LAYOUT
      I_CALLBACK_USER_COMMAND           = ' '
       I_GRID_TITLE                      = 'REPORT'
       IS_LAYOUT                         = gd_LAYOUT
       IT_FIELDCAT                       = IT_FCAT
       I_SAVE                            = 'X'
       IT_EVENTS                         = IT_EVENTS
      TABLES
        T_OUTTAB                          = IT_TABLE.
    **&      Form  FCAT
    *FORM FCAT  USING   FP_COL_POS
                     FP_FIELDNAME
                     FP_SELTEXT_M.
    WA_FCAT-COL_POS = FP_COL_POS.
    WA_FCAT-FIELDNAME = FP_FIELDNAME.
    wa_fcat-seltext_m = fp_seltext_m.
    APPEND WA_FCAT TO IT_FCAT.
    ENDFORM.
    *&      Form  HEADER
          text
    -->  p1        text
    <--  p2        text
    form header .
      DATA : IT_HEADER TYPE SLIS_T_LISTHEADER,
            WA_HEADER LIKE LINE OF it_header.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = 'ACTION TYPE REPORT'.
      APPEND WA_HEADER TO IT_HEADER.
      wa_header-typ  = 'S'.
      wa_header-key = Text-022.
      CONCATENATE  s_date-low+6(2) '.'
                   s_date-low+4(2) '.'
                   s_date-low(4)
                   temp
                   '.     TO      .'
                   s_date-high+6(2) '.'
                   s_date-high+4(2) '.'
                   s_date-high(4)
                   INTO wa_header-info SEPARATED BY space.
      APPEND wa_header TO it_header.
      CLEAR wa_header.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = IT_HEADER
          I_LOGO             = 'HRRU_51050061'.
    *select single bstkd into CORRESPONDING FIELDS OF gt_vbkd
    *from vbkd where vbeln = rt_outtab-vgbel
    *and posnr = '000000'.
    *rt_outtab-bstkd = gt_vbkd-bstkd.
    ENDFORM.                    " HEADER
    *&      Form  LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM LAYOUT .
    GD_LAYOUT-NO_INPUT = ''.
    gd_layout-colwidth_optimize = ''.
    gd_layout-totals_text = 'TOTALS'(201).
    gd_layout-info_fieldname =      'LINE_COLOR'.
    ENDFORM.                    " LAYOUT

Maybe you are looking for

  • Problem with IconImage for JFrame

    If I create an BufferedImage by ImageIO.read for example and then call getScaledInstance on this image and set the scaled Image to a JFrame as the IconImage (via setIconImage(Image image)), the application hangs. Has anyone else this problem?

  • Keyboard/typing problem

    I was trying out the new MacBooks in the Apple Store last night and encountered a weird problem when typing on any MacBook I auditioned. Periodically when I was typing a sentence the cursor would do one of the following: --- jump up one line and cont

  • Error message on exiting After effects CS6

    Just installed Production Premium today. Installation was ok, no errors. Launched after effects, made some changes to preferences, then exit On exit I get :: Executable: AFterFX.exe pid 2d8c tid 1098. module vmctrl,ax 6 objects left active at lione 3

  • Cannot log in to my linux account even the password is correct

    Hi all whenever I tried to log in to my account in oracle linux (OEL 6.2) the system redirect me to the login screen even my password is correct, I used to use the same account to work on my laptop and everything works fine how can I can fix this iss

  • XSU: OracleXMLSQLException thrown when column key is rowid.

    Hi All, I run into a problem where I wanted to update a column which is the key. Let's say I have table create table XYZ ( key varchar2(20), name varchar2(20) Using SQLPLUS, it is possible to do: update XYZ set (key='123', name='joe') where rowid='AA