How to use macro's functionality in a programe...?
hi,
i am siva,
i am new to abap,
i am not having clarity on how to use macro in a programe,
please send me any source code of a programe which
contain functionality of macros..?
and explain functionality of macros...?
i any of u know answer..
please send me source code of a programe that use macros...?
reguars,
siva.
Hi,
<u>Macros:</u>
If you want to reuse the same set of statements more than once in a program, you can include
them in a macro. For example, this can be useful for long calculations or complex WRITE
statements. You can only use a macro within the program in which it is defined, and it can only
be called in lines of the program following its definition.
The following statement block defines a macro <macro>:
DEFINE <macro>.
<statements>
END-OF-DEFINITION.
You must specify complete statements between DEFINE and END-OF-DEFINITION. These
statements can contain up to nine placeholders (&1, &2, ..., &9). You must define the macro
before the point in the program at which you want to use it.
Macros do not belong to the definition part of the program. This means that the DEFINE...ENDOF-
DEFINITION block is not interpreted before the processing blocks in the program. At the
same time, however, macros are not operational statements that are executed within a
processing block at runtime. When the program is generated, macro definitions are not taken
into account at the point at which they are defined. For this reason, they do not appear in the
overview of the structure of ABAP programs [Page 44].
A macro definition inserts a form of shortcut at any point in a program and can be used at any
subsequent point in the program. As the programmer, you must ensure that the macro
definition occurs in the program before the macro itself is used. Particular care is required if you
use both macros and include programs, since not all include programs are included in the syntax
check (exception: TOP include).
To use a macro, use the following form:
<macro> [<p1> <p2> ... <p9>].
When the program is generated, the system replaces <macro> by the defined statements and
each placeholder &i by the parameter <pi>. You can use macros within macros. However, a
macro cannot call itself.
Ex:
DATA: RESULT TYPE I,
N1 TYPE I VALUE 5,
N2 TYPE I VALUE 6.
DEFINE OPERATION.
RESULT = &1 &2 &3.
OUTPUT &1 &2 &3 RESULT.
END-OF-DEFINITION.
DEFINE OUTPUT.
WRITE: / 'The result of &1 &2 &3 is', &4.
END-OF-DEFINITION.
OPERATION 4 + 3.
OPERATION 2 ** 7.
OPERATION N2 - N1.
The produces the following output:
The result of 4 + 3 is 7
The result of 2 ** 7 is 128
The result of N2 - N1 is 1
Here, two macros, OPERATION and OUTPUT, are defined. OUTPUT is nested in
OPERATION. OPERATION is called three times with different parameters. Note how
the placeholders &1, &2, ... are replaced in the macros.
Regards,
Bhaskar
Similar Messages
-
How to use a BAPI function module in programs?
Hi,
I have developed a BAPI enabled Function module & object type in 4.7. I want to use it to retrieve data from table T001 in 4.7 and display the output in 5.0. I am not able to get the data into 5.0. Please suggest me how to do this.
A program example would be appreciated.Hi Prabhu,
Firstly to say Bapis are version independent though the version is changed it does nt effect .. But as u said u want to fetch the data frm 4.7 tht too from table t005 observe tht the table data is not independent it is dependent tht is the reason why u r able to call the bapi but not able to display the data here . hope u know the procedue to call it in editor ...So now try it and check tht wether data is present in tht 5.0 version table ...t005 . thn it will be solved..if at all it is not working thn it might be problem with the bapi business object u created might be wrong check...
Regards,
Sana.
reward if useful ... -
I am currently away from my MAC and want to send an email through apple mail with the bcc functionality. I am using the cloud to get to my mail, however, I can't figure out how to use the BCC functionality, please help. Thanks!
Open your mail,
lower left corner click on settings,
go to composing and check BCC, save and your done -
How to Use the language function for assignment and validation
Hi All,
If anyone can explain me in details with example ,how to use the language function for assignments and validations?
Thanks
ArnabHi Arnab,
The expression is checked only for the current MDM session.
If u login with the ABC language it will always show the ABC language no matter how many times u execute it.
Try connecting to the DM with the XYZ language.
It should go to the if part rather than else.
Hope it helps.
Thanks,
Minaz -
How to use the CMS functionality in Sun Portal Server 7.2
Hi All,
How to use the CMS functionality using the ccd.war(Portlet) which is available in the library as i could add it to my channel but not able to show the functionality as it is showing the error msg "You are currently not logged in. Please login." should I create userid and there respective roles inorder to use the CMS functionality.
Has any one used this as I could this in glass fish server.
Any Input is appreciated.
Thanks & regards
SrikanthHave a look at the "*Roles*" section of the portal server 7.2 content management system guide
http://docs.sun.com/source/820-4275/index.html . You can also look at [project mirage|https://mirage.dev.java.net] for some screencasts
Alternatively,
1. ccd.war has 3 portlets in it:
(a) custom content definition portlet
(b) custom content portlet
(c) workflow portlet
2. Inorder to work with these portlets, user needs to be in anyone of the below roles:
(a)Consumer (b) Editor (c) Approver (d) Administrator (e) Submitter (f) Contributor (g) Publisher
3. By default ccd.war gets deployed using a default roles file (/var/opt/SUNWportal/tmp/ccd.roles.properties)
Note: In windows, you may not find this file
4. Access the portlets as a user in any of the role mentioned in the ccd.roles.properties
(OR)
you can use a new roles file which has mapping to your custom roles. For this , undeploy existing ccd.war and deploy again with a new roles.properties file
Hope this helps! -
How to use the divide() function in bpel
Hi All,
How to use the divide() function in bpel.
pls can u give the one sample example2 div 4
Eg;
<assign name="Assign_1">
<copy>
<from expression="2 div 4"/>
<to variable="outputVariable" part="payload"
query="/client:testProcessResponse/client:result"/>
</copy>
</assign>
--Prasanna -
How to use xsl document() function with LiveCycle XSLT processor
Hello,
I would like to use LiveCycle XSLT processor to merge xml documents by using the xsl document() function.
However, I have not, yet, found clear reference information on the specifics of how to accomplish in LC. For instance if you have
a transformation that does merging using a standalone xml editor (such as Oxygen), than what is required to accomplish the same
using the LiveCycle XSLT service. How do you specify the URI of the XML document that is specified as an input in the xsl document() function. Your insight is appreciated. RegardsHello Steve,
I checked the reference that you cited (XSLT Transformation). The reference omits discussing how to use xlst document() function within a stylesheet. I think that probably means that feature of xslt technology is not directly available through LiveCycle. When I find a workaround, I'll post an update...for the user community that might encounter the same issue. Thank you for your response and insight. Regards, jb1809 -
How to use query-database() function in transformation?
Hi All,
How to use query-database() function in transformation?
It is giving four fields but if i write select query in sqlquery field it is saying select node is not found....
plz help me out
Regards
Pavankumar
Edited by: [email protected] on Jul 29, 2009 2:49 AMHi,
To answer your query:-
http://abhishek-soablog.blogspot.com/2008/08/orclquery-database.html
Cheers,
Abhi... -
How to use the set functions effectively in webi ,please let me know with detail
how to use the set functions effectively in webi ,please let me know with detail
Hi,
we use use set functions on heirarchies with aggregate functions mostly .
If you include member_set, Min returns the minimum value of the aggregated data for all members in the member set.
Member_set can include multiple sets separated by semicolons (;).
The list of member sets must be enclosed in {}.
If the member set expression does not specify a precise member or node, the hierarchy referenced must be present in the table, then the member set expression references the current member in the hierarchy in the table. If the hierarchy is not in the table, the function returns the message #MULTIVALUE.
Eg .
1) Ancestor
=Sum([YTD] ; {Ancestor([Test Hierarchy];2)})
2) IsLeaf
=[Test Hierarchy].IsLeaf
You can use this function when you want to show your Measure only at lower level .
3) .Depth
=[Test Hierarchy].Depth
This is also function used with hierarchy to find Level of Members .
Follow this link for PDF reference .
Page 147
https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&ved=0CDIQFjAB&url=https%3A%2F%2Fhelp.sap.com%2Fbusinessobject%2Fproduct_guides%2Fboexir4%2Fen%2Fxi4sp5_ffc_en.pdf&ei=nBAUU-iUM4WWrAeMuoCoDg&usg=AFQjCNHakXsEjd_yUk2y3lVdibf3PXpEOA&bvm=bv.61965928,d.bmk
search on SCN this question was discussed before also one those links .
http://scn.sap.com/thread/3183380
Hope this will help you . -
How to use Round off function in TAX Formula
Dear All,
I have to do Round off in the Tax Formula. Hence I was suggested by the SAP Forum Team to use Round off function in the Tax Formulae.
But sir I don't know how to use Round off function in the Tax Formulae.
For Eg. BaseAmt = Total
TaxAmt = BaseAmt * Rate
Now within this Eg. How will i use the Round off function and where i will use it.
Please guide me with example.
Regards
Hitesh ParsawalaHi Hitesh,
you can do like this
Cess_ST_TaxAmt=Round(Cess_ST_BaseAmt*Cess_ST_Rate,0)
where you can introduce rounding function by choosing from dropdown available in Operation and by click on Insert.
It will post following in formulla window
Round (Number, Decimals as Number)
where in parameter you have to give 1.Number-which is to be round and 2.Decimals as Number-as per your requirement like by 2 decimal or 0 decimal
If required give me call,
BR
Samir Gandhi -
How to use Spell-check functionality for textbox (like Orkut, gtalk)
How to use Spell-check functionality for tex Hello Friends,
I am working on a JSP application. I wanted to add Spell check for text box like we have here, when we post a message. It automatically shows red line under the word, when ever spelling is wrong. Please tell me how I can do this. If possible, the code too.
Thanks.I believe the spell checking you see here, or on any other site, is the spell checking built into Firefox. At least that's what I see. Are you using Firefox?
-
How to use a C function as a native method
Could anybody tell me how to use a C function as a Java native method.
ThanksRead all about it.
You'd probably have to write a little wrapper (using JNI) that passes
parameters and return values around between your C function and
the JVM.
kind regards,
Jos -
How to use a partner function?
1. I would like to link a project (or WBS) to the Invoice Approver (for the workflow)
2. I would like to link a project to a Customer or several Customers
3. I would like to link a project to a Vendor or number of Vendors
Not clear how to use a partner function for that reason and where this will be visible.Getting following error message for the Customer:
Customer for function Y2 may not have account group Z010
Message no. VP303
Why and where such restrictions are applied? -
How to use case when function to calculate time ?
Dear All,
May i know how to use case when function to calculate the time ?
for the example , if the First_EP_scan_time is 12.30, then must minus 30 min.
CASE WHEN FIRSTSCAN.EP_SHIFT <> 'R1' AND FIRSTSCAN.EP_SHIFT <> 'R2'
THEN ROUND(CAST((DATEDIFF(MINUTE,CAST(STUFF(STUFF((CASE WHEN SHIFTCAL.EP_SHIFT = 'N1'
THEN CONVERT(VARCHAR(8),DATEADD(DAY,+1,LEFT(FIRSTSCAN.EP_SCAN_DATE ,8)),112) + ' ' + REPLACE(CONVERT(VARCHAR(8),DATEADD(HOUR,+0,SHIFTDESC.EP_SHIFT_TIMETO + ':00'),108),':','')
ELSE LEFT(FIRSTSCAN.EP_SCAN_DATE ,8) + ' ' + REPLACE(CONVERT(VARCHAR(8),DATEADD(HOUR,+0,SHIFTDESC.EP_SHIFT_TIMETO + ':00'),108),':','') END),12,0,':'),15,0,':') AS DATETIME),CAST(STUFF(STUFF(LASTSCAN.EP_SCAN_DATE,12,0,':'),15,0,':') AS DATETIME)) / 60.0 - 0.25) AS FLOAT),2)
ELSE ROUND(CAST((DATEDIFF(MINUTE,CAST(STUFF(STUFF(FIRSTSCAN.EP_SCAN_DATE,12,0,':'),15,0,':') AS DATETIME),CAST(STUFF(STUFF(LASTSCAN.EP_SCAN_DATE,12,0,':'),15,0,':') AS DATETIME)) / 60.0) AS FLOAT),2) END AS OTWORK_HOURDo not use computations in a declarative language. This is SQL and not COBOL.
Use a table of time slots set to one more decimal second of precision than your data. You can now use temporal math to add it to a DATE to TIME(1) get a full DATETIME2(0). Here is the basic skeleton.
CREATE TABLE Timeslots
(slot_start_time TIME(1) NOT NULL PRIMARY KEY,
slot_end_time TIME(1) NOT NULL,
CHECK (start_time < end_time));
INSERT INTO Timeslots --15 min intervals
VALUES ('00:00:00.0', '00:14:59.9'),
('00:15:00.0', '00:29:59.9'),
('00:30:00.0', '00:44:59.9'),
('00:45:00.0', '01:00:59.9'),
('23:45:00.0', '23:59:59.9');
Here is the basic query for rounding down to a time slot.
SELECT CAST (@in_timestamp AS DATE), T.start_time
FROM Timeslots AS T
WHERE CAST (@in_timestamp AS TIME)
BETWEEN T.slot_start_time
AND T.slot_end_time;
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
How to use 'several screen function' used to be in os x 10.6
hi ! ^^
how r u ? good !
how to use 'several screen function' used to be in os x 10.6 ??
it was possible to change whole screen with 'command + arrow keys' (option + arrow keys maybe ??)
but, in os x 10.7, it seems it is not possible. and instread of it 'mission controls' that is not uesful ..
no windows drive direct access. no several screen function. crash when control panel ask me administration right.
os x 10.5 or 10.4 was much easy to control.
plz fix and add good functions of 10.6 , remove good functions is not called 'upgrade'.You can still do it with CONTROL + Arrow keys, the same as 10.6
Regards,
Captfred
Maybe you are looking for
-
Preferences 1 2 3 4 5 6 7 8 9 0 = Backspace Tab q w e r t y u i o p Return capslock a s d f g h j k l shift ` z x c v b n m shift English alt alt Preferences
-
HP HD-4310 Webcam registration not recognised.
Sorry to double post this, you know how it is when you're running round. HP HD-4310 Webcam I buy a product over the counter in the UK and register it with HP, I cannot download drivers as the HP UK site does not recognise the serial number I registe
-
PI /XI compatiblity with content
Hi, Does anyone know if the latest PI/XI patches are all ways downwardly compatible with previous SAP supplied XI content? Is there a SAP document to confirm this? Thanks Andy
-
Mac takes almost 10 minutes to start up since update two weeks ago
Hello all! I've had my mac for almost three years now and it has been problem free until the beginning of this year. First in February the hard drive failed for no reason which of course I had to pay to replace. Since then things have been running sm
-
When editing a photo in Photoshop Elements 11 I save the edited picture and it returns to my album at the beginning instead of above the original