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.
PrabuHi,
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 -
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 vaThats good news.
-
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,
JonMy 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 doesnt 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
Charitahi 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 englishHi,
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.
NimaiTry 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,
udupione 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.
-
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. -
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_eventHi,
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?
-
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