Enhancement SRVDET in T-Code ML81N
Hi,
My requirement is to add certain custom fields in T-Code ML81N. For this I am using the Enhancement SRVDET - User screen on tab strip of service detail screen.
I have added the fields in Table CI_ESLLDB. and then mapped these Custom fields in the Screen Exit on Screen 0299. The custom fields have appeard on the Tabstrip.
But the problem is even if I am viewing the line item in ML81N in Display mode, my custom fields are appearing in editable mode. And if I am entering the values in the custom fields(either in Change mode or Display mode of ML81N), these entries are not getting stored.
I am not writing any code in the Function Exit of this Enhancement.
I have tried by giving INP in Group2 in Attributes of Custom Fields in Screen(by seeing the Screen Group of other fields in Tabstrip).
But still it is not working. If anyone has worked on Enhancement SRVDET plz tell tell me where I am commiting the mistake.
Regards,
Nitin
OK, I got the issue straighten out.
We need to write code to transfer the data between the screen field and the custom field.
First, declare the new fields in ehancement SRVDET, append new fields to CI_ESLLDB, eg. I declared zzcharg - batch number.
At EXIT_SAPLMLSP_040, declare a global variable to store the custom field information. This will allow the user input data to be stored in a temporary variable. eg. I did the following:
At ZXMLUTOP:
***INCLUDE ZXMLUTOP .
data g_esll_zzcharg like esll-zzcharg. "global variable
At the enhancement EXIT_SAPLMLSP_040, I did:
*& Include ZXMLUU23
g_esll_zzcharg = i_esll-zzcharg.
The trick is, at Screen 299. Do the following.... declare module status_0299.
process before output.
module status_0299.
Inside module status_0299, do the following:
***INCLUDE ZXMLUO01 .
*& Module STATUS_0299 OUTPUT
&---- text
module status_0299 output.
i_esll-zzcharg = g_esll_zzcharg.
endmodule. " STATUS_0299 OUTPUT
Now, the input field will show up correctly and saved correctly.
If you dun want to field to be editable, do a loop at screen, when screen-name = 'ESLL-ZZCHARG', screen-input = '0'.
I am also working on assigning a value to the field automatically, and found the exit to do this already. So the whole thing is automatic.
Good luck. Hope this help and please award points accordingly.
Thank you,
Jinson Wong
Similar Messages
-
Trying to add enhancement point in standard code
Hi,
i am trying to add enhancement point in standard code using the steps givenin the link.
http://www.sapdev.co.uk/enhance/eframework/ef_implicit.htm
but i am not able to get the enhancement point .
Could you please let me know if there is anything additional steps to be followed.
or are there config setting that has to be checked.
Regards,
salehaHi Sandra,
when I try to create an enhancement point by pressing enhance (shift-f4) going in edit->Enhancment operations->Create it gives me a message 'In this mode you can create implementations only'. (At this point my cursor in the code is at the point I want to make it happen)
So the Q is how do I get the E.point in the code at the point I desire.
Regards,
Saleha -
Hi,
I have to do an enhancement in Standard t-code CAA3(Display Contract account). One field has to be added in the 2nd screen.
Can you please guide me for a solution.
Thanks in advance.
Regards,
Sreenivas.Hi, SAP has a tool, BDT (Business Data Toolset) that help you to modify the screen of some IS transaction.
You may check out the following document to give you more idea about BDT. And the area menu of BDT for contract account is CAWM
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6173fb9e-0701-0010-6083-a0001827a6ff
Hope it helps.
Maine -
Enhancements points in standard code
hello!
Can I use enhancements points in standard code? How do it?
Thanks!!Yes, you can. That is really the whole point, as you would not need enhancement points in a custom program.
In order to leverage the Enhancement Framework, you should familarize yourself with the documentation and then go from there.
http://help.sap.com/saphelp_nw2004s/helpdata/en/94/9cdc40132a8531e10000000a1550b0/frameset.htm
Regards,
Rich Heilman -
Enhancement Point in ABAP code
Hi ,
I am working on an upgrade from 4.6 to ECC ,so have a have a standard FM with an enhancement point , how do i know if there is an implementaion for that or not and can i debugg the code in the enhancement point .
When i click on the enhancement spot it goes to a class and i can see the code in that methods but cant set a breakpoint in it , kindly suggest what should i do.
Regards
ArunHi
double click on the enhancement point. it will take you to the enhancement spot into which it is defined.
click on the tab "enhancement implementation". it will show you all the existing implementation. I you find nothing than this point is not implemented yet.
if it is taking you to a class then it is a BADi implemented via new enhancement framework. to find it is implemented or not, repeat the above steps. to debug it:
in the left section, expand entries under heading BADi definitions.
double click on "implementations". you will get the existing entries on right side. double click on this entry. on the left side under heading "BADI definitions" you will get the implementing class.
double click on it to get the class name.
go into the class and see the method implemented. u try to hard code the break point into the method,
activate it and then try to debug it.
Thanks
Vishal Kapoor -
0FI_AR_4 Extractor Enhancement without user exit code Question
Hi
I have a requirement to enhance 0FI_AR_4 Extractor with below Fields from BSID:
Field DataElement
PRCTR PRCTR
VPOS2 NUM06
VBUND RASSC
As per SAP Note: 410799, I am assuming I don't need to write any ABAP code to populate these fields.
In the extract structure DTFIAR_3 of extractor 0FI_AR_4 Double clicked on the Include CI_BSID.
It prompted "Structure CI_BSID not available. Create the structure?"
After entering Access key it created new Structure "CI_BSID".
I have entered the Component and Component Type values as below:
Component Component Type
YYPRCTR PRCTR
YYVPOS2 NUM06
YYVBUND RASSC
1. Please let me know Component and Component Type values and the steps I followed are correct or not?
2. And I hope I don't need to write the code in the User exit to populate these fields?
Thanks
SreeHi,
For any FI datasource enhancement there are two scenarios :-
1. All the fields of the customer enhancement in the customer include are available in the read structure BSID
Then no additional action is required. The fields of the customer enhancement are filled automatically by the datasource from the assigned read structure via "move-corresponding".
2. Fields of the customer enhancement in the customer include are not contained in the read structure BSID
In this case you have to program a function module to fill the field of the customer enhancement. To do this, there is a Business Transaction Event available (open FI interface for process 00005021). Create any function module you like and use function module SAMPLE_PROCESS_00005021 as a template for the interface (input parameter, changing parameter).
Hope this helps.
Reg,
Rahul -
FB60 enhancement to validate Company Code
Hi,
I have to do the validation for Company code in Tcode FB60. The issue iam unable to get the correct enhance ment for tis.
i have tried following enhancements.
F050S001 FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
F050S002 FIDCC1: Change IDoc/do not send
F050S003 FIDCC2: Change IDoc/do not send
F050S004 FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send
F050S005 FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
F050S006 FI Outgoing IDoc: Reset Clearing in FI Document
F050S007 FIDCCH Outbound: Influence on IDoc for Document Change
F180A001 Balance Sheet Adjustment
FARC0002 Additional Checks for Archiving MM Vendor Master Data
RFAVIS01 Customer Exit for Changing Payment Advice Segment Text
RFEPOS00 Line item display: Checking of selection conditions
RFKORIEX Automatic correspondence
SAPLF051 Workflow for FI (pre-capture, release for payment)
Thanks,
Deepthi.Hi,
My requirement is changed now.
I need to get a user exit or badi where after entering the header data and only ONE LINE ITEM data and press enter key, I should get the Header Company code and Line Item Company code in one enhnacement. I must valdate these 2 fields.
Regards,
Deepthi. -
Problem in creating service entry sheet in t-code- ML81N
Dear cons
we have two company codes. we have single vendor in both the company code. we created two p.o for the two company code. we want to create one service entry sheet by taking two ser. p.o. how it ispossible.
nrkHI nirupama,
it is not possible, Standard SAP System having not such functionality to create one Service entry sheet of two different PO's By ML81N.
its better to create seperate SES for each PO's. Also Accounting Point of View, posting should be seprate for each Co. code.
Regards.
Vraj -
Help enhance my Drag&Drop code
Good day!
I have here my code for a simple drag and drop excercise and it looks a little bit redundant. I want to enhance it and trim it down for efficiency but I'm not really sure how should I do it. Also, I have a problem when selecting a drag object; when I click it, it is lost. I really don't know why it happens, I just followed a tutorial I've seen on the internet. Help would really be appreciated!
Sincerely,
Mr. Milo
MY CODE ARE AS FOLLOWS:
at1.addEventListener(MouseEvent.MOUSE_DOWN, pickAT);
in1.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in2.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in3.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in4.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in5.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in6.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in7.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
in8.addEventListener(MouseEvent.MOUSE_DOWN, pickIN);
on1.addEventListener(MouseEvent.MOUSE_DOWN, pickON);
on2.addEventListener(MouseEvent.MOUSE_DOWN, pickON);
at1.addEventListener(MouseEvent.MOUSE_UP, dropAT);
in1.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in2.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in3.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in4.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in5.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in6.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in7.addEventListener(MouseEvent.MOUSE_UP, dropIN);
in8.addEventListener(MouseEvent.MOUSE_UP, dropIN);
on1.addEventListener(MouseEvent.MOUSE_UP, dropON);
on2.addEventListener(MouseEvent.MOUSE_UP, dropON);
at1.buttonMode = true;
in1.buttonMode = true;
in2.buttonMode = true;
in3.buttonMode = true;
in4.buttonMode = true;
in5.buttonMode = true;
in6.buttonMode = true;
in7.buttonMode = true;
in8.buttonMode = true;
on1.buttonMode = true;
on2.buttonMode = true;
var startX: Number;
var startY: Number;
var correct: Number = 0;
var attempt: Number = 0;
// I think I have a problem here
function pickAT(event:MouseEvent): void {
var obj = event.target;
obj.startDrag();
obj.x = startX;
obj.y = startY;
function pickIN(event:MouseEvent): void {
var obj = event.target;
obj.startDrag();
obj.x = startX;
obj.y = startY;
function pickON(event:MouseEvent): void {
var obj = event.target;
obj.startDrag();
obj.x = startX;
obj.y = startY;
function dropAT(event:MouseEvent): void {
var object = event.target;
object.stopDrag()
if(object.dropTarget != null && object.hitTestObject(targetAT1)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickAT);
object.removeEventListener(MouseEvent.MOUSE_UP, dropAT);
object.buttonMode = false;
object.x = targetAT1.x;
object.y = targetAT1.y;
else {
attempt++;
attemptCounter.text = String(attempt);
object.x = startX;
object.y = startY;
function dropIN(event:MouseEvent): void {
var object = event.target;
object.stopDrag()
if(object.dropTarget != null && object.hitTestObject(targetIN1)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN1.x;
object.y = targetIN1.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN2)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN2.x;
object.y = targetIN2.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN3)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN3.x;
object.y = targetIN3.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN4)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN4.x;
object.y = targetIN4.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN5)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN5.x;
object.y = targetIN5.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN6)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN6.x;
object.y = targetIN6.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN7)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN7.x;
object.y = targetIN7.y;
else if(object.dropTarget != null && object.hitTestObject(targetIN8)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickIN);
object.removeEventListener(MouseEvent.MOUSE_UP, dropIN);
object.buttonMode = false;
object.x = targetIN8.x;
object.y = targetIN8.y;
else {
attempt++;
attemptCounter.text = String(attempt);
object.x = startX;
object.y = startY;
function dropON(event:MouseEvent): void {
var object = event.target;
object.stopDrag()
if(object.dropTarget != null && object.hitTestObject(targetON1)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickON);
object.removeEventListener(MouseEvent.MOUSE_UP, dropON);
object.buttonMode = false;
object.x = targetON1.x;
object.y = targetON1.y;
else if(object.dropTarget != null && object.hitTestObject(targetON2)) {
attempt++;
correct++;
attemptCounter.text = String(attempt);
correctCounter.text = String(correct);
object.removeEventListener(MouseEvent.MOUSE_DOWN, pickON);
object.removeEventListener(MouseEvent.MOUSE_UP, dropON);
object.buttonMode = false;
object.x = targetON2.x;
object.y = targetON2.y;
else {
attempt++;
attemptCounter.text = String(attempt);
object.x = startX;
object.y = startY;Ned,
Thank you for looking into the code and pointing to the mistakes.
Milo,
I was typing off the top of head and, of course, overlooked some things. Hopefully this works:
var startX: Number;
var startY: Number;
var correct: Number = 0;
var attempt: Number = 0;
var currentlyDragged:MovieClip;
// collection of objects stored in array
// so that you can reference them programmatically
var objects:Array = [at1, in1, in2, in3, in4, in5, in6, in7, in8, on1, on2];
activateObjects();
// assigns listeners and other functionality to the objects in objects array
function activateObjects():void {
for each(var mc:MovieClip in objects) {
mc.addEventListener(MouseEvent.MOUSE_DOWN, pickObject);
mc.buttonMode = true;
// assign drop targets based on names
switch(String(mc.name).substring(0, 2)) {
case "at":
mc.dropTargets = [targetAT1];
break;
case "in":
mc.dropTargets = [targetIN1, targetIN2, targetIN3, targetIN4, targetIN5, targetIN6, targetIN7, targetIN8];
break;
case "on":
mc.dropTargets = [targetON1, targetON2];
break;
function pickObject(e:MouseEvent):void {
currentlyDragged = MovieClip(e.currentTarget);
currentlyDragged.startDrag();
startX = currentlyDragged.x;
startY = currentlyDragged.y;
stage.addEventListener(MouseEvent.MOUSE_UP, dropObject);
function dropObject(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
stopDrag();
var droppedOn:MovieClip;
if (currentlyDragged.dropTarget) {
// loop through targets belonging to the currently dragged clip
for each(var mc:MovieClip in currentlyDragged.dropTargets) {
if (currentlyDragged.hitTestObject(mc)) {
// get the target
droppedOn = mc;
currentlyDragged.removeEventListener(MouseEvent.MOUSE_DOWN, pickObject);
currentlyDragged.buttonMode = false;
currentlyDragged.x = droppedOn.x;
currentlyDragged.y = droppedOn.y;
correct++;
correctCounter.text = String(correct);
// stop loop - it is not necessary to continue
break;
attempt++;
attemptCounter.text = String(attempt);
// return to the initial position if there is no hit
if (!droppedOn) {
currentlyDragged.x = startX;
currentlyDragged.y = startY;
Message was edited by: Andrei1 -
Is I have to create different enhancement implementation for diff. code are
Hi,
I want to modify standard program in 3 different part through enhancement framework.
Is I ave to create 3 different enhancement implementation or i can use only one?.
Regards,
HimanshuHi,
Below is given code which i have added in copy of stranded program at diff. code ares and its running fine.
Now i want to write in stranded code through enhancement framework.
I dont think we can write it in 1 place.? what you say.
Internal tables
******Added By Himanshu*****
BDMNG LIKE RESB-BDMNG,
******Himanshu*****
***Himanshu modification*****
DATA: BEGIN OF xtab1 OCCURS 10, "Tabelle der Reservierungen
werks LIKE resb-werks,
lgort LIKE resb-lgort,
charg LIKE resb-charg,
matnr LIKE resb-matnr,
bdmng LIKE resb-bdmng,
bdmns LIKE resb-bdmng,
erfme LIKE resb-erfme, "ALRK014884 SW
erfmg LIKE resb-erfmg, "ALRK014884 SW
END OF xtab1.
DATA: kzwso LIKE mara-kzwsm,
ytab1 like xtab1 occurs 0 with header line.
RANGES: xbdart FOR resb-bdart,
MS_WERKS FOR MARC-WERKS.
REFRESH XBDART.
CLEAR XBDART.
XBDART-SIGN = 'I'.
XBDART-OPTION = 'EQ'.
XBDART-LOW = 'AR' .
APPEND XBDART.
XBDART-LOW = 'MR' .
APPEND XBDART.
REFRESH MS_WERKS.
CLEAR MS_WERKS.
XBDART-SIGN = 'I'.
XBDART-OPTION = 'EQ'.
XBDART-LOW = 1010.
APPEND XBDART.
end Himanshu********
FORM data_selection.
****Himanshu*****
data : begin of it_mat occurs 0,
matnr like mara-matnr,
end of it_mat.
select matnr into corresponding fields of table it_mat
from mara
where matnr in matnr.
CLEAR: XTAB1 . REFRESH XTAB1 .
loop at it_mat .
CALL FUNCTION 'MB_ADD_RESERVATION_QUANTITIES'
EXPORTING
X_MATNR = it_mat-matnr
X_XLOEK = SPACE
X_KZEAR = SPACE
X_KZWSO = KZWSO "ALRK014884 SW
TABLES
XTAB1 = XTAB1
XWERKS = MS_WERKS
XBDART = XBDART.
ytab1 = xtab1.
append ytab1.
endloop.
****end himanshu*****
FORM fieldcatalog.
*****Himanshu Modification******
loop at ytab1.
read table bestand with key matnr = ytab1-matnr.
if sy-subrc = 0.
bestand-bdmng = ytab1-bdmng.
MODIFY TABLE bestand .
endif.
endloop.
******end Himanshu *******
*****Himanshu Modification******
CLEAR fieldcat.
fieldcat-fieldname = 'BDMNG'.
fieldcat-tabname = 'BESTAND'.
fieldcat-ref_tabname = 'YTAB1'.
FIELDCAT-SELTEXT_S = 'Reserved'.
fieldcat-outputlen = 8.
APPEND fieldcat.
*****end Himanshu****** -
Experiences - Applying support packs to enhanced SAP Web Dynpro code
Just thought I might highlight some experiences we've had with applying support packs for XSS. (Reply if you have your own experiences or a proven better way)
Firstly, we are using Travel within XSS and have some significant developments to get this working globally. Rightly or wrongly, we added our own DC's within the ESS application area and need to take this into account during support packs.
As advised by SAP, we have not directly applied the support pack source code to the modified track, but created a separate SPXX track which we manually need to reaply all of our changes. It dissapoints me that SAP don't recommend doing what the help.sap.com states, but there must be a reason for this (supposedly the meta data tool not yet available in NW04 will address the main reason).
In order to get our custom DC's from the old track to the new; I needed to add all non-generated objects to an activity, connect SPXX-1 track to the SPXX track and transport all the way through to the approval stage to get it migrated (the connection can be terminated after this is done). Again - Less than ideal, especially if you accidentally transport a generated file or miss a file.
Then for all SAP Web Dynpro changes, we've documented all changes to the nth degree and it's at this point we manually reapply the changes - taking into account any SAP changes that may have occurred.
I hope SAP promotes doing this a better way soon, but here's a process for anyone else needing to do this.
Regards,
MattAs you stated the system without the context tab is NetWeaver 7.0. The context tab and the extra wizards were new features in NetWeaver 7.0 Enhancement Package 1. Your system would have to be updated to this NetWeaver Enhancement Package level in order to have this functionality.
-
Service entry sheet for t.code ml81n
Hai every one,
My requirement is like this.
User should select one line item while adopting from service PO in service entry sheet and save. So that he will get one service entry sheet for one line item. so when he select more than one line item and tries to save in one service entry sheet the system should give error message and he should not be able to save.
For this i found one function exit 'EXIT_SAPLMLSP_031'.
i wrote the code like this.
*BREAK-POINT.
tables:esll, rm11p.
data : serent like esll-extrow,
serent1 like esll-introw,
count type i
data: begin of ix_esll occurs 2000.
include structure msupdap.
data: selkz like rm11p-selkz.
data: end of ix_esll.
*break-point.
*count = 0.
**loop at IX_ESLL .
*if IX_ESLL-selkz = 'X'.
*count = count + 1.
*endif.
*endloop.
break-point.
if sy-tcode = 'ML81N'.
*if sy-index <> 0.
if sy-srows <> 0.
esll-extrow <> '0000000010'.
*if esll-EXTROW = '0000000010'.
*if ix_esll-extrow <> '0000000010'.
message e000(38) with 'Select only one line item'.
endif.
endif.
*ENDIF.
In ML81n we can see the line item start with 10,20 ,30 like that. If i hard code the line number is 10. it will work correctly. if i select the 20 it wont work.
If user select 30 or 40 how i can do this.
Plz helpme regarding this. It is very urgent.
Thanks and Regards,
Vamsi.Hi,
Just use the following code as it is. If you are facing any problem please let me know.
data: w_no_of_records Type I.
CONSTANTS:
c_pgmvariable(21) value '(SAPLMLSP)REF_ESLL[]'.
DATA: BEGIN OF I_REF_ESLL OCCURS 200.
INCLUDE STRUCTURE UESLL.
DATA: KOT_PACKNO LIKE COMSRV-KOT_PACKNO,
KOT_INTROW LIKE COMSRV-KOT_INTROW,
CON_PACKNO LIKE COMSRV-CON_PACKNO,
CON_INTROW LIKE COMSRV-CON_INTROW.
DATA: END OF I_REF_ESLL.
FIELD-SYMBOLS: <FC> Type ANY.
assign (c_pgmvariable) to <FC>.
I_REF_ESLL[] = <FC>.
DESCRIBE table I_REF_ESLL Lines w_no_of_records.
If w_no_of_records NE 0.
message e000(38) with 'Select only one line item'.
Endif.
Regards
Raju Chitale -
Enhancement for ME21N t-code ?
Dear ABAP Experts..,
I have a requirement that in ME21N t-code Delivery / Invoice tab there is a field called Payment Terms. If user select Payment Terms as '0010'
then he wants to new screen which have different entries .
How can i do this issue when the user is selected Payment Terms as '0010' to generate new Tab in header part ?
Thaks & Regards.
K. Chinna..!Hi,
Use this user exit MM06E005 Or BADI
ME_GUI_PO_CUST
ME_PROCESS_PO_CUST
and write your code based on requirement .
Regards,
kumar. -
Product enhancement for confidential BP codes
Currently, I am not aware of a way to restrict access to certain BP accounts, including the related activities for a BP. For example, our bank, HR consultants, etc. where I would like to limit the access to these BP accounts and related attachments to certain users, such as our management group.
Primary importance would be to limit access to related activities where sensitive information may be stored in the form of emails, attachments, etc.
Our previous CRM allowed us to flag BP accounts as restricted and set up permissions to authorized users.
Is anyone aware of a way to limit access to these activities?
If not, this is a great enhancement for future releases.Hi Deb,
that's right! Assigning your config key to business role allows you using your own configuration for this business role.
I thought, that you enhanced GET_I_DATAORIGIN_TEXT by redefining the I-GETTER. For me, this means, that the SAP creates a new z-class which inherits the SAP standard class. In this case you have to assign your enhancement set to your client...
Did you set a break-point to your GET_I_DATAORIGIN_TEXT and checked the returning parameter? If rv_disable = "FALSE" and the DDLB is still disabled, this could mean, that the entity belonging to your field is not changeable...
best wishes,
Hakan -
Hi All,
I am enhancing the DS: 2LIS_11_VAITM with fields EDATU,ZZADATE from VBEP Table.
Could any body provide me the code for this
Regards,
MadhuHi.....
Check this........
Data source Enhancement Code Samples
Data source Enhancement
Re: writing custom code for enhancing the generic data source
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/302d4b15-5847-2a10-93bb-9c45d9f06b16
Hope this helps you.......
Regards,
Debjani.......
Maybe you are looking for
-
Using OLAP Connection for SAP BW based on authentication type Prompt
We try to use an OLAP Connection based on authentication type Prompt. This should cause a dialog to popup where the user can enter credentials for SAP BW. This works fine for Analysis for OLAP, but not in Web Intelligence and Design Studio. In design
-
Hi All we are working on a UPGRADE project from 46c to ECC 6. we have found function module CACS_APPL_GET_SET is missing it exists in the old version but deleted by SAP. do suggest the replacement if any . below attached is the code CALL FUNCTION 'CA
-
Running LC ES2 SP1 on Windows 2008 R2 32-bit server. I have a form that has multiple web service connections to processes I created in workbench. I can connect to them fine in workbench and some of them work fine on my form. I am using the WSDL for
-
Oracle makes only buggy products
Why does Oracle make only buggy products? I think it wants everyone to sign up support contract. We are developing an application on HTML DB. Its charts have bugs. I posted a thread on forum about that. X Axis Grid Lines I tried doing the chart work
-
does illustrator cc imports freehand files?