Regarding ABAP HR
hi experts,
i'm getting small problem in creation of infotype
i have created one custom infotype in PA by using table control
problem is
i have entered 5 rows data for one duration
when i'm checking data in overview it showing 5 records for single duration it should show only one record like IT 0008 but it showing 5 records plz help me
Hi,
maybe someone here can help you otherwise I would try it in the ABAP Data Transfer forum:
ABAP Connectivity
Regards
Patrick
Similar Messages
-
Regarding ABAP Query authorization group
Hi Team,
This is regarding ABAP Query!
I have created one authorization group, for testing i have assigned my id in authorization group.
After creation of ABAP query,standard program got generated. Now i have created one transaction code at the last for the ABAP Query.
Now the isse is even though i have deleted my id from the authorization group. I am able to execute the query from SQ01 and with the Transaction code .
It should not happen...i want who soever id is mapped to the transaction code ...that member should only be able to run that query, otherwise there is no use of authorization group.
Please help me out in this case.
Thanks & Regards,
Anil Kumar SahniAre you sure that you don't have access to that authorisation group? Execute report RSUSR002. In the 'Authorization Object 1' block inform S_TABU_DIS in 'Auth.Object' and accept. Then inform Activity=03 and Auth.Gruop= your group.
You will get a list of all the users which, theoretically, will be able to execute the query. If you press 'Roles' or 'Profiles' in the toolbar of the listing you will get to know why you have authorisation. May be you have the SAP_ALL profile.
Also, one more thing to take into account: how have you created your transaction? Is it referring directly to the generated report? Then it is an error, you should execute program SAP_QUERY_CALL. Read this post: [Relate transaction to query; -
Regarding ABAP Engine (Web AS 6.40)
Hi All
Can you please tell me wheather we have ABAP Engine ( WAS 6.30 or 6.40 Evoluation ) in the SDN.SAP.com.
Thanks In Advance
Regards
SaravananHi,
As fas as I know there is no evaluation version yet of either 6.30 or 6.40 WAS ABAP stack.
There is however a NetWeaver demo available from SAP shop, but only for Linux. Maybe somebody knows if that includes an ABAP stack or not.
Regards -
Hi everyone,
Would anyone let me know the complete steps for configuring ABAP Mapping.
Regards,
Varun Reddy.KHi,
Inorder to configure an ABAP mapping do the follwoing steps.
1) Goto SE24 tcode and createa custom object e.g. 'Z_TEST_ABAP_MAPPING''
2) Use the standard interface IF_MAPPING in your object.
3) Now write your piece of code in the method IF_MAPPING~EXECUTE .
METHOD IF_MAPPING~EXECUTE.
initialize iXML
TYPE-POOLS: IXML.
CLASS CL_IXML DEFINITION LOAD.
create main factory
DATA: IXMLFACTORY TYPE REF TO IF_IXML.
IXMLFACTORY = CL_IXML=>CREATE( ).
create stream factory
DATA: STREAMFACTORY TYPE REF TO IF_IXML_STREAM_FACTORY.
STREAMFACTORY = IXMLFACTORY->CREATE_STREAM_FACTORY( ).
create input stream
DATA: ISTREAM TYPE REF TO IF_IXML_ISTREAM.
ISTREAM = STREAMFACTORY->CREATE_ISTREAM_XSTRING( SOURCE ).
parse input document =================================================
initialize input document
DATA: IDOCUMENT TYPE REF TO IF_IXML_DOCUMENT.
IDOCUMENT = IXMLFACTORY->CREATE_DOCUMENT( ).
parse input document
DATA: IPARSER TYPE REF TO IF_IXML_PARSER.
IPARSER = IXMLFACTORY->CREATE_PARSER( STREAM_FACTORY = STREAMFACTORY
ISTREAM = ISTREAM
DOCUMENT = IDOCUMENT ).
IPARSER->PARSE( ).
get message content of tag <BookingCode>
DATA: INCODE TYPE REF TO IF_IXML_NODE_COLLECTION.
INCODE = IDOCUMENT->GET_ELEMENTS_BY_TAG_NAME( 'BookingCode' ).
get XI header data (here: "Sender Service")
DATA: L_SENDER_SERVICE TYPE STRING.
L_SENDER_SERVICE = PARAM->GET( IF_MAPPING_PARAM=>SENDER_SERVICE ).
add trace (appears in message monitoring)
DATA: L_TRACE TYPE STRING.
CONCATENATE 'Sender Service = ' L_SENDER_SERVICE INTO L_TRACE.
TRACE->TRACE( LEVEL = '1'
MESSAGE = L_TRACE ).
build up output document =============================================
create output document
DATA: ODOCUMENT TYPE REF TO IF_IXML_DOCUMENT.
ODOCUMENT = IXMLFACTORY->CREATE_DOCUMENT( ).
create element 'SenderService' and add it to the document
DATA: MSGTYPE TYPE REF TO IF_IXML_ELEMENT.
MSGTYPE = ODOCUMENT->CREATE_SIMPLE_ELEMENT(
NAME = 'MsgOut'
PARENT = ODOCUMENT ).
create element 'SenderService' and add it to the output document
DATA: ELEMENTSENDER TYPE REF TO IF_IXML_ELEMENT.
ELEMENTSENDER = ODOCUMENT->CREATE_SIMPLE_ELEMENT(
NAME = 'SenderService'
VALUE = L_SENDER_SERVICE
PARENT = MSGTYPE ).
add node to the output document
DATA: OUTCODE TYPE REF TO IF_IXML_NODE.
OUTCODE = INCODE->GET_ITEM( INDEX = 0 ).
DATA IRC TYPE I.
IRC = MSGTYPE->APPEND_CHILD( OUTCODE ).
render document ======================================================
create output stream
DATA: OSTREAM TYPE REF TO IF_IXML_OSTREAM.
OSTREAM = STREAMFACTORY->CREATE_OSTREAM_XSTRING( RESULT ).
create renderer
DATA: RENDERER TYPE REF TO IF_IXML_RENDERER.
RENDERER = IXMLFACTORY->CREATE_RENDERER( OSTREAM = OSTREAM
DOCUMENT = ODOCUMENT ).
IRC = RENDERER->RENDER( ).
ENDMETHOD.
Now Add additional mapping types in your Exchange Profile:
com.sap.aii.repository.mapping.additionaltypes
Create a new Interface Mapping
Select Mapping Type Abap-class
Enter the name of the ABAP-OO class
Rest of the mapping proceedure remains the same..
Reward points if found useful
Regds,
Sandeep -
Regarding ABAP Dump found when saving the job.
Hi all,
Generally we create a job and once the job is created,we rasie Sales Order,Purchase Order and so on.
When we create a job we give the details of the Sold -to-party,client,parent and child job text,advertising category,project type, sales organisation,Cost and profit center,person incharge and purchase division.
After submitting these details the job gets created and the job number will be generated.
But now we have created a new Sales Organisation, which is leading to ABAP Dump.
The functional people have concluded that there is nothing wrong in the configaration settings.
If we enter an existing sales organisation in the job creation process the job is getting created and the job number is displayed.
But if we try to enter a new sales organisation the ABAP Dump is comming.
After debugging we came to know that BAPI function Module called
Bapi Project Maintain Call and inside that there is another bapi call called
BAPI_PROJECT_MAINTAIN which is taking some structures as inputs among them
this new sales org is there.Hi all,
Is there any answer regarding this question.
Thanx in advance -
Hi,
I want to learn SAP ABAP <b>HR</b>. So I need guidance how to start <u><i>HR ABAP</i></u>.
What is difference between normal ABAP and HR ABAP?
Please send me the documents to me if you have it via mail at <b>[email protected]</b>.
Waiting for your kind Reply.
Regards,
VMMhi,
here I am giving you some links what ever I am having prasanna.....
SAP HR
http://www.sapdevelopment.co.uk/hr/hrhome.htm
http://www.sap-basis-abap.com/saphr.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?track=NL-142&ad=500911#Transactions
http://help.sap.com/saphelp_47x200/helpdata/en/4f/d5275f575e11d189270000e8322f96/content.htm
http://www.sap-basis-abap.com/saphr.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?track=NL-142&ad=500911#Transactions
http://help.sap.com/saphelp_47x200/helpdata/en/4f/d5275f575e11d189270000e8322f96/content.htm
http://help.sap.com/saphelp_47x200/helpdata/en/4f/d5275f575e11d189270000e8322f96/content.htm
http://www.saptips.com/Previews/SAPtipsAugust-September2004TableOfContents.pdf
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?track=NL-142&ad=500911#Transactions
http://help.sap.com/saphelp_46c/helpdata/en/4f/d528be575e11d189270000e8322f96/frameset.htm.
http://www.sap-basis-abap.com/saphr.htm.
http://www.sapgenie.com/faq/hr.htm
http://www.sap-img.com/human/hr-faq.htm
http://www.sapdevelopment.co.uk/hr/hrhome.htm
http://www.sapgenie.com/mysap/mysap_hr.htm
Re: remunaration statement
HR ABAP
/message/1033820#1033820 [original link is broken]
http://sap.ittoolbox.com/groups/career/sap-career/interview-questions-needed-for-sap-hr-528597#
http://www.google.co.in/url?sa=U&start=3&q=http://www.fundoosite.com/interview-questions/type.asp%3FiType%3D72&e=15410
http://www.kyapoocha.com/category/sap-abap-interview-questions/
http://classifieds.sulekha.com/atlanta/clad.aspx?cid=840216&nma=ATL
http://searchsap.techtarget.com/general/0,295582,sid21_gci1091992,00.html
Re: Hr ABAP
Re: HR ABAP FAQS
If you find useful mark the points
~~Guduri -
Hi Friends
I am new to ABAP-HR.I am trying to analyze below peace of code but not yet succeeded till.
So any one please illustrates me the below peace of code step-by-step.
DATA: is_i77pr LIKE t77pr.
DATA: temp1 LIKE result_struc_obj.
DATA: temp2 LIKE result_struc_obj.
DATA: tmp_pnext LIKE struc-pnext.
DATA: mgr_name LIKE objec-stext.
DATA: tmp_sytabx LIKE sy-tabix.
CLEAR: result_tab_obj.
REFRESH: result_tab_obj.
evpath = 'ZPXO_GEN'.
CALL FUNCTION 'RH_STRUC_GET_MULTIPLE_ROOTS'
EXPORTING
act_wegid = evpath
ACT_INT_FLAG =
ACT_PLVAR = ' '
act_svect = '1'
act_begda = sy-datum
act_endda = sy-datum
act_tdepth = 0
act_tflag = 'X'
act_vflag = 'X'
act_sflag = 'X'
act_recurs = 'X'
act_text_buffer_fill = 'X'
authority_check = 'X'
BUFFER_MODE = ' '
keep_order = 'X'
IMPORTING
ACT_PLVAR =
ROOT_COPY =
TABLES
root_objects = root_objects
result_objec = result_objec_obj
result_struc = result_struc_obj
EXCEPTIONS
no_plvar_found = 1
no_entry_found = 2
path_not_found = 3
root_not_found = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Delete Root Org Unit's Chief Personnel No.
LOOP AT root_objects.
REFRESH: result_tab_obj.
CLEAR: result_tab_obj.
CALL FUNCTION 'RH_STRUC_GET'
EXPORTING
act_otype = 'O'
act_objid = root_objects-objid
act_wegid = 'ZPX_CFPN'
act_begda = begda
act_endda = endda
TABLES
result_tab = result_tab_obj
EXCEPTIONS
no_plvar_found = 1
no_entry_found = 2
OTHERS = 3.
LOOP AT result_tab_obj WHERE otype = 'P'.
Append Root Org Unit's Mgr Name into Description...
CLEAR: mgr_name.
LOOP AT result_objec_obj WHERE otype = 'P' AND objid = result_tab_obj-objid.
mgr_name = result_objec_obj-stext.
CONCATENATE mgr_name ')' INTO mgr_name.
CONCATENATE '(Mgr:' mgr_name INTO mgr_name
SEPARATED BY space.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
LOOP AT result_objec_obj WHERE otype = 'O' AND objid = root_objects-objid.
CONCATENATE result_objec_obj-stext mgr_name INTO result_objec_obj-stext
SEPARATED BY space.
MODIFY result_objec_obj. CLEAR result_objec_obj.
ENDLOOP.
ENDIF.
CLEAR: temp1, temp2.
Get references of Chief person...
LOOP AT result_struc_obj
WHERE otype = result_tab_obj-otype
AND objid = result_tab_obj-objid.
MOVE-CORRESPONDING result_struc_obj TO temp1.
ENDLOOP.
Get reference of Root Org.Unit...
LOOP AT result_struc_obj
WHERE otype = root_objects-otype
AND objid = root_objects-objid.
MOVE-CORRESPONDING result_struc_obj TO temp2.
ENDLOOP.
CLEAR : tmp_sytabx .
LOOP AT result_struc_obj
WHERE otype = result_tab_obj-otype
AND objid = result_tab_obj-objid
AND pup = temp2-seqnr.
tmp_sytabx = sy-tabix.
ENDLOOP.
LOOP AT result_objec_obj
WHERE otype = result_tab_obj-otype
AND objid = result_tab_obj-objid.
IF sy-tabix = tmp_sytabx.
DELETE result_objec_obj.
EXIT.
ENDIF.
ENDLOOP.
DELETE result_struc_obj
WHERE otype = result_tab_obj-otype
AND objid = result_tab_obj-objid
AND pup = temp2-seqnr.
1. If the value in field STRUCS-PDOWN for object U, which is
located above D, corresponds to the value STRUCS-SEQNR for D,
set the value of U STRUCS-PDOWN to the value of D STRUCS-PNEXT.
Reduce the value of U STRUCS-VCOUNT by 1.
CLEAR: tmp_pnext.
tmp_pnext = temp1-pup.
LOOP AT result_struc_obj WHERE seqnr = tmp_pnext.
result_struc_obj-vcount = result_struc_obj-vcount - 1.
MODIFY result_struc_obj. CLEAR result_struc_obj.
ENDLOOP.
CLEAR: tmp_pnext.
tmp_pnext = temp1-seqnr.
LOOP AT result_struc_obj WHERE pdown = tmp_pnext.
result_struc_obj-pdown = temp1-pnext.
MODIFY result_struc_obj. CLEAR result_struc_obj.
ENDLOOP.
2. If an object P exists, for which the value STRUCS-PNEXT corresponds
to the value of D STRUCS-SEQNR, set the value of P STRUCS-PNEXT
to the value of D STRUCS-PNEXT.
CLEAR: tmp_pnext.
tmp_pnext = temp1-seqnr.
LOOP AT result_struc_obj WHERE pnext = tmp_pnext.
result_struc_obj-pnext = temp1-pnext.
MODIFY result_struc_obj. CLEAR result_struc_obj.
ENDLOOP.
3. If an object N exists, for which the value STRUCS-PREV corresponds to
the value of D STRUCS-SEQNR, set the value of N STRUCS-PPREV to the value
of D STRUCS-PPREV.
CLEAR: tmp_pnext.
tmp_pnext = temp1-seqnr.
LOOP AT result_struc_obj WHERE pprev = tmp_pnext.
result_struc_obj-pprev = temp1-pprev.
MODIFY result_struc_obj. CLEAR result_struc_obj.
ENDLOOP.
ENDLOOP.
ENDLOOP.
@ start of code - vinay golchha
Data declarations
data : root_orgid type realo.
DATA : root_mgr_pernr TYPE realo.
DATA : emp_pernr TYPE realo.
DATA : mgr_pernr TYPE realo.
DATA : org_unit_id TYPE realo.
DATA : pernr_tabix LIKE sy-tabix.
DATA : struc_tabix LIKE sy-tabix.
DATA: leading_pos LIKE hrobject OCCURS 0 WITH HEADER LINE.
DATA : direct_emp_flag TYPE c VALUE ' '.
DATA: i1001 LIKE hri1001 OCCURS 0 WITH HEADER LINE.
DATA : root_mgr_pernr1 TYPE sobid.
DATA : result_objec_obj1 LIKE STANDARD TABLE OF result_objec_obj WITH HEADER LINE.
DATA : org_seqnr TYPE sseqnr.
Loop through all the root org units
LOOP AT root_objects.
result_objec_obj1[] = result_objec_obj[].
Get the Root Org Unit
root_orgid = root_objects-objid.
Get the Manager of the Root Org Unit
CALL FUNCTION 'RH_GET_LEADER'
EXPORTING
plvar = '01'
keydate = sy-datum
otype = 'O'
objid = root_orgid
IMPORTING
leader_id = root_mgr_pernr
EXCEPTIONS
no_leader_found = 1
no_leading_position_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Looping through the Employees for Root Org Unit
LOOP AT result_objec_obj1 WHERE otype = 'P'.
emp_pernr = result_objec_obj1-objid.
Set thye direct employee flag to blank
direct_emp_flag = ' '.
Get the leading positions
REFRESH leading_pos.
CALL FUNCTION 'RH_GET_LEADING_POSITION'
EXPORTING
plvar = '01'
otype = 'P'
sobid = emp_pernr
TABLES
leading_pos = leading_pos
EXCEPTIONS
no_lead_pos_found = 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.
Loop through the leading positions if there are
multiple leading positions
LOOP AT leading_pos.
org_unit_id = leading_pos-objid.
Get the Manager
REFRESH i1001.
CALL FUNCTION 'RHOM_READ_RELAT_BUFFERED'
EXPORTING
otype = 'S'
objid = leading_pos-objid
plvar = '01'
subty = 'A008'
TABLES
i1001 = i1001
EXCEPTIONS
no_active_plvar = 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.
root_mgr_pernr1 = root_mgr_pernr.
READ TABLE i1001 WITH KEY sobid = root_mgr_pernr1.
If manager found set directly reporting flag as 'X'
IF sy-subrc = 0.
direct_emp_flag = 'X'.
EXIT.
ENDIF.
ENDLOOP.
If the current Employee manager is NOT equal to Root Org Unit's Manager
IF direct_emp_flag = ' '.
Get sequence number of org unit
READ TABLE result_struc_obj
WITH KEY otype = root_objects-otype
objid = root_objects-objid.
org_seqnr = result_struc_obj-seqnr.
Remove entry from result_struc_obj and modify the table accordingly
CLEAR : temp1, temp2,tmp_sytabx.
LOOP AT result_struc_obj
WHERE otype = 'P'
AND objid = emp_pernr
AND pup = org_seqnr.
MOVE-CORRESPONDING result_struc_obj TO temp1.
ENDLOOP.
LOOP AT result_struc_obj
WHERE otype = root_objects-otype
AND objid = root_objects-objid.
MOVE-CORRESPONDING result_struc_obj TO temp2.
ENDLOOP.
CLEAR struc_tabix.
LOOP AT result_struc_obj
WHERE otype = 'P'
AND objid = emp_pernr
AND pup = temp2-seqnr.
struc_tabix = sy-tabix.
ENDLOOP.
LOOP AT result_objec_obj
WHERE otype ='P'
AND objid = emp_pernr.
Delete entry for directly reporting employee
IF sy-tabix = struc_tabix.
DELETE result_objec_obj.
EXIT.
ENDIF.
ENDLOOP.
DELETE result_struc_obj
WHERE otype = 'P'
AND objid = emp_pernr
AND pup = temp2-seqnr.
Delete count of vertically related objects by 1
if record deleted
CLEAR tmp_pnext.
tmp_pnext = temp1-pup.
LOOP AT result_struc_obj WHERE seqnr = tmp_pnext.
result_struc_obj-vcount = result_struc_obj-vcount - 1.
MODIFY result_struc_obj.
CLEAR result_struc_obj.
ENDLOOP.
Set the down pointer of the record previous to the
deleted one to the next pointer of the deleted one
CLEAR tmp_pnext.
tmp_pnext = temp1-seqnr.
LOOP AT result_struc_obj WHERE pdown = tmp_pnext.
result_struc_obj-pdown = temp1-pnext.
MODIFY result_struc_obj.
CLEAR result_struc_obj.
ENDLOOP.
Set the next pointer of the record previous to the deleted
one to the next pointer of the deleted one
CLEAR tmp_pnext.
tmp_pnext = temp1-seqnr.
LOOP AT result_struc_obj WHERE pnext = tmp_pnext.
result_struc_obj-pnext = temp1-pnext.
MODIFY result_struc_obj.
CLEAR result_struc_obj.
ENDLOOP.
Set the value of previous pointer
CLEAR tmp_pnext.
tmp_pnext = temp1-seqnr.
LOOP AT result_struc_obj WHERE pprev = tmp_pnext.
result_struc_obj-pprev = temp1-pprev.
MODIFY result_struc_obj.
CLEAR result_struc_obj.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDLOOP.
@ End of Code - Vinay Golchha
REFRESH: result_objec, result_struc.
CLEAR: result_objec, result_struc.
result_objec[] = result_objec_obj[].
result_struc[] = result_struc_obj[].
Regards,
SreeHi,
1) DATA: temp1 LIKE result_struc_obj.-
it declares temp1 as a internal table of result_struc_obj table that means temp1 posses all functionality, attributes of result_struc_obj.
and we are not directly make any changes to database table for that we must have create internal table.
2) In the HR ABAP, there are function modules for everything.
like in your code 'RH_GET_LEADER' FM gives manager ID of that person.
If you want to know how this function module works just go to
SE37->give function module name->display-> on the Toolbar you will see ' Function module Documentation' option.
3) IF sy-subrc = 0.
sy-subrc 0 means your Function module worked out and get output. otherwise there must be some error.
4) CLEAR- clears header line of the internal table.
REFRESH- clears contents or body of the table.
5) LOOP AT root_objects.
ENDLOOP.
it will go through each record of the table root_objects. it will help when you want to check each record of the table. we can give any conditon after loop at. on that basis loop will execute.
6) READ TABLE -
it reads one record of the table at a time.
7) MOVE-CORRESPONDING - it will move all record to respective fields.
reward if useful. -
Regarding ABAP query layout changes
In 46C system, we have addon transaction ZXX created thru ABAP query displaying in ALV report
layout fields in order A,B,C,D. But after upgrade to ECC5.0 we found the layout is changed to fields D,B,C,A.
why its changed? Is it Patch problem or its SAP problem.
However after upgrade we could manualy drag and drop the fields as per the 46C existing report layout
it works fine.
But we would like to know the reason why its happenning.?
Could somebody give me suggestion.
Regards
AmbichanHi Ambikumar,
The ALV output layout is dependent on user settings.
THe order of layout fields is changed bcz user has saved the new layout.
In the output, check the ALV toolbar for CHANGE LAYOUT button. Click on it & check if anyone has saved any new layout. Delete the layout & you would alwyz get the fields in the same order as specified in the query.
No need to modify the query using SQ01/SQ02.
Simply execute the query & click button CHANGE LAYOUT.
Best regards,
Prashant -
Hi Gurus, regarding ABAP-CRM docs
Hi Gurus,
Now I am working in PCUI.
What an abaper needs to know to work in ABAP-CRM.
Should we know CRM funcionalities in deep?
I want to know what sort of work tehcnially people will do in ABAP-CRM. IS it simply with BADI's.
Please send me some related documents to work with ABAP-CRM. It will be very helpful to me.
my id <removed by SAP Community Network Moderator>
Regards,
Ramakrishna.Hi Tulasi,
To find the CRM Material refer the following link created by the forum moderator :
Link to CRM documentation :
Links to CRM Documentation
<b>Reward points if it helps.</b> -
Help regarding ABAP and ABAP Objects
Dear all,
I am very new in abap and abap objects. But i have some expr. in other language..specialy development. Right now i am working for srm module...So i want to move my self into abap object and specialy in workflow...Please provide me help regarding this...along with the starting point for this.
Best Regards
Vijay Patilhi
Object Oriented prg
A programming technique in which solutions reflect real world objects
What are objects ?
An object is an instantiation of a class. E.g. If Animal is a class, A cat
can be an object of that class .
With respect to code, Object refers to a set of services ( methods /
attributes ) and can contain data
What are classes ?
A class defines the properties of an object. A class can be instantiated
as many number of times
Advantages of Object Orientated approach
Easier to understand when the system is complex
Easy to make changes
Encapsulation - Can restrict the visibility of the data ( Restrict the access to the data )
Polymorphism - Identically named methods behave differently in different classes
Inheritance - You can use an existing class to define a new class
Polymorphism and inheritance lead to code reuse
Have a look at these good links for OO ABAP-
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com.
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
check the below links lot of info and examples r there
http://www.sapgenie.com/abap/OO/index.htm
http://www.geocities.com/victorav15/sapr3/abap_ood.html
http://www.brabandt.de/html/abap_oo.html
Check this cool weblog:
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
these links
http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
For funtion module to class
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
for classes
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
for methods
http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
for inheritance
http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
for interfaces
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
For Materials:
1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
1) http://www.erpgenie.com/sap/abap/OO/index.htm
2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
Hope this helps
if it helped, you can acknowledge the same by rewarding
regards
ankit -
Regarding ABAP program to read and manipulate data from Excel file....
Hi,
I want to write a ABAP program which will read Excel file which has three columns viz: Col A, Col B and Col C.
If there is no data in Col B and Col C for a given record in Column A, then progam should print all those records on screen with write statement.
Regards,
Rajesh.Hi
Check
PARAMETERS: filename LIKE rlgrap-filename MEMORY ID M01,
begcol TYPE i DEFAULT 1 NO-DISPLAY,
begrow TYPE i DEFAULT 1 NO-DISPLAY,
endcol TYPE i DEFAULT 100 NO-DISPLAY,
endrow TYPE i DEFAULT 32000 NO-DISPLAY.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = filename
i_begin_col = begcol
i_begin_row = begrow
i_end_col = endcol
i_end_row = endrow
TABLES
intern = intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
After getting Records in INTERN TABLE You can loop it to check where columns B & C are empty and store them in another table .
LOOP AT intern.
IF INTERN B and C has value .
CONTINUE
ELSE .
MOVE THEM INTO ANOTHER TABLE ITAB .
ENDIF .
ENDLOOP.
THEN LOOP ITAB .
WRITE : ' '
ENDLOP .
Hope this Helps .
Praveen -
Hi All,
1. What is the exact diffrence Between Diffrent Update Modes in BDC Process.
What is the Diffrence B/N Synchronous[S] & Asynchronous[A] processing in Update mode. Ans Also what is the purpose of Local[L] Mode.
2. What is meant by work processes in ABAP.
3. In SAP Script in NACE when we connect Print Program[SE38] & Layout Set[SE71] there will be some common routine B/N them like ENTRY.
WHat it actually does - FORM ENTRY.
....ENDFORM.
4. In ALV Output i want to change the color of particular row dynamically how can i change the same.
Suppose i am having one row with one field (-)Negative Value that should be displayed in diffrent color, If Positive value need to be in diffrent color, Zero value need to be in diff color. how can i achieve this dynamically.
5. I Have one issue in BDC I am running a CALL Transaction Method for one BDC program.
In that if the process is successful or not i am creating a error Log in SM35.
If the above CALL Transaction for BDC is successful i am updating 2 Z-Tables and if it unsuccessful i am creating a session[Error Log] in SM35 through Session Method.
Now what i want is when if above CALL Transaction fails then Z-Tables will not be updated.
Then user will go to SM35 and modify the log and Re-Process BDC from SM35. But here Z-Tables will not get updated though now process will run successfully.
Means if the BDC fails, these updates to the Z-tables never happen even if we re-process the BDC & then we have an out of Sync condition.
Can anybody give the solutions for the above issues.
Thanks in advance.
Thanks & Regards,
Prasad.1.
The main update technique for bundling database changes in a single database LUW is to use CALL FUNCTION ... IN UPDATE TASK. This section describes various ways of updating the database.
A program can send an update request using COMMIT WORK
· To the update work process, where it is processed asynchronously. The program does not wait for the work process to finish the update (Asynchronous Update).
· For asynchronous processing in two steps (Updating Asynchronously in Steps.)
· To the update work process, where it is processed synchronously. The program waits for the work process to finish the update (Synchronous Update).
· To its own work process locally. In this case, of course, the program has to wait until the update is finished (Local Update.)
http://help.sap.com/saphelp_nw04s/helpdata/en/41/7af4d7a79e11d1950f0000e82de14a/frameset.htm
Local Update : In a local update, the update program is run by the same work process that processed the request. The dialog user has to wait for the update to finish before entering further data. This kind of update is useful when you want to reduce the amount of access to the database. The disadvantage of local updates is their parallel nature. The updates can be processed by many different work processes, unlike asynchronous or synchronous update, where the update is serialized due to the fact that there are fewer update work processes (and maybe only one).
http://help.sap.com/saphelp_nw04s/helpdata/en/41/7af4d7a79e11d1950f0000e82de14a/frameset.htm
2.
Work process is a process that as a component of an application server executes an ABAP application.
To process SAP requests from several front ends, an SAP application server has a dispatcher, which collects the requests and forwards them to work processes for execution.
There are the following types of work process:
Dialog
For executing dialog programs
Update, Upd2
For asynchronous database updates
Background (batch)
For executing background jobs
Enqueue
For executing lock operations
Spool
For print formatting
Work processes can be assigned to dedicated application servers. In the service overview (SM51), you can see which work process types are provided by the individual servers.
Each work process is logged onto the database system as a user for the entire runtime of the SAP system.
Each work process is assigned for the duration of a dialog step to an ABAP program.
Check this link too.
http://help.sap.com/saphelp_bw30b/helpdata/en/69/c24e104ba111d189750000e8322d00/frameset.htm
3. Form entry in the driver program is the main sub-routine from which the execution of the driver program starts.
You have to mention the from entry sub-routine in the NACE transaction where you will mention the program name, from name or in the TNAPR table
The form ENTRY routine is present in your print program.
In this routine you write your whole code of print program(like opening of your form, trigerring your form and closing your form and fetching data) and this routine is dynamically called by RSNAST00 program
4. It is possible to paint some cells, rows, and columns through the ALV Grid control. Basically, with no additional effort, if you set a column to be a key column it is automatically colored. To paint we have the following procedures.
Cxyz
C.6.1. Coloring an Entire Column
To make an entire column be painted with the color you want, you can use the emphasize option of the field catalog. Simply assign a color code to this field of the row added for your column. Color codes are constructed as follows:
Color numbers are:
x Color Intended for
1 gray-blue headers
2 light gray list bodies
3 yellow totals
4 blue-green key columns
5 green positive threshold value
6 red negative threshold value
7 orange Control levels
The key setting made via the field key of the field catalog overrides this setting. So if you want this color to be colored different than the key color, you should set the key field to space while generating the field catalog. However, then there may be some side effects on column orders. You can set the column order as you want at the frontend. But if this is not suitable for you, then unset all key settings and do all coloring and ordering as you want. Be careful that the function module generating the field catalog will always set the key properties of key fields.
C.6.2. Coloring an Entire Row
Coloring a row is a bit (really a bit) more complicated. To enable row coloring, you should add an additional field to your list data table. It should be of character type and length at least 4. This field will contain the color code for the row. So, lets modify declaration of our list data table gt_list.
Code Part 13 Adding the field that will contain row color data
As you guess, you should fill the color code to this field. Its format will be the same as explained before at section C.6.3. But how will ALV Grid know that you have loaded the color data for the row to this field. So, you make it know this by
1/0:intensifiedon/off
1/0:inverseon/off
Colornumbers
*--- Internal table holding list data
DATA BEGIN OF gt_list OCCURS 0 .
INCLUDE STRUCTURE SFLIGHT .
DATA rowcolor(4) TYPE c .
DATA END OF gt_list .
passing the name of the field containing color codes to the field INFO_FNAME of the layout structure.
e.g.
ps_layout-info_fname = . e.g. ROWCOLOR
You can fill that field anytime during execution. But, of course, due to the flow logic of screens, it will be reflected to your list display as soon as an ALV refresh occurs.
You can color an entire row as described in the next section. However, this method is less time consuming.
C.6.3. Coloring Individual Cells
This is the last point about coloring procedures for the ALV Grid. The procedure is similar to coloring an entire row. However, since an individual cell can be addressed with two parameters we will need something more. What is meant by more is a table type structure to be included into the structure of the list data table. It seems strange, because including it will make our list data structure deep. But anyhow ALV Grid control handles this.
The structure that should be included must be of type LVC_T_SCOL. If you want to color the entire row, this inner table should contain only one row with field fname is set to space, some color value at field col, 0 or 1 at fields int (intensified) and inv (inverse).
If you want to color individual cells, then for each cell column, append a line to this inner table which also contains the column name at field fname. It is obvious that you can color an entire column by filling this inner table with a row for that column for each row in the list data table. But, it is also obvious that, this will be more time consuming than the method at section C.6.1.
Again key field coloring will override your settings. Thats why, we have another field in this inner table called nokeycol. For each field represented in the inner table, set this field to X to prevent overriding of key color settings.
In this procedure, again we must tell the control the name of the inner table containing color data. The field CTAB_FNAME of the layout structure is used for this purpose.
Code Part 14 Adding inner table that will contain cell color data
Code Part 15 A sample code to make the cell at row 5 and column SEATSOCC colored
*--- Internal table holding list data
DATA BEGIN OF gt_list OCCURS 0 .
INCLUDE STRUCTURE SFLIGHT .
DATA rowcolor(4) TYPE c .
DATA cellcolors TYPE lvc_t_scol .
DATA END OF gt_list .
DATA ls_cellcolor TYPE lvc_s_scol .
READ TABLE gt_list INDEX 5 .
ls_cellcolor-fname = 'SEATSOCC' .
ls_cellcolor-color-col = '7' .
ls_cellcolor-color-int = '1' .
APPEND ls_cellcolor TO gt_list-cellcolors .
MODIFY gt_list INDEX 5 .
what happens if all these three procedures applied for coloring at the same time. The answer is given as there is a priority among them. The priority order is: cell setting - row setting - column setting. Beside these, key field setting must be handled.
Cheers,
Susmitha.
Message was edited by: Susmitha Thomas
Message was edited by: Susmitha Thomas -
Hi Sapmates,
Are any one in Bangalore teaching Abap with BW specific. please kindly let me know. points will be assigned for all help full answers.
Regards
SujanHi Siva ,
if u want to take any training good institutes r in Hyderabad. -
Regarding ABAP dump during time ticket confirmation.
Hi PP Gurus,
I'm getting an ABAP dump while doing time ticket confirmation for a process order using COR6N. The dump is coming only for one plant and all the plants are working fine.
The reason for dump is
The current application program detected a situation which really should not occur. Therefore, a termination with a short dump was triggered on purpose by the key word MESSAGE (type X).
I tried to analyze the dump and got OSS# 385830. But this note only talking about the conversion of message from A to X type. What should be the reason (configuration/product error) behind that?
If anybody came across the same, please comment on this
Thanks & Regards,
Abu ArbabHi,
Since this dump is happening only for a particular plant, compare the config set of this plant with the other plant which is working fine, you should be able to resolve it.
Alternatively, ask your abaper to analyze the dump in ST22 & he / she should be able to let you know the exact reason why the dump is occurring.
Regards,
Vivek -
Hi ,
please provide documentation or links regarding generation and Configuration of ABAP Proxies.
Ravi RaikaHi,
Check the following links:
<a href="/people/sravya.talanki2/blog/2006/07/28/smarter-approach-for-coding-abap-proxies Approach for coding ABAP Proxies</a>
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0ae9874-109c-2910-f48a-e91f0cdd1c81">EDM EMM Scenario Part I: Service Enabling - How to Implement eSOA-Compliant Services</a>
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/41e08c90-0201-0010-9197-d8774336ea78">ABAP Proxy Generation</a>
<a href="http://help.sap.com/saphelp_nw04s/helpdata/en/ba/f21a403233dd5fe10000000a155106/frameset.htm">SAP Help - ABAP Proxy Generation</a>
Thanks,
Dipankar
Maybe you are looking for
-
How to play a symbol ONCE at a specific scroll position?
Hello there, I was wondering if it's possible to trigger a symbol to play when a user scrolls past a specific scroll point just once? I've managed to create a trigger for a symbol which will fire at a specific scroll position but it fires multiple ti
-
Creation of Web Part page error in SharePoint subsite
Hi Friends, When i was try to create webpart page( in out of the box)SharePoint Subside it throws error. I checked logs i finally got error information like System.ArgumentException: An entry with the same key already exists. at System.ThrowHelpe
-
iPod classic hard drive needle sometimes skips (Red X). When it doesn't and seems to power on normally, I start to restore it in Itunes and then it starts to skip again with the Red X on the screen. One time I was able to run the disk utility in tim
-
Using Acobat Pro for PC with Mac
I am just migrating from pc use for the padt two decades to a mac and I am trying to reduce the new software purchase. Does "Adobe Acrobat 9 Pro Windows" work on a Mac (in the Mac environment)?
-
"download" link in Detail View to open in new browser window?
How would I go about getting the image that opens, after clicking "download" in detail view on a photo page, to open in a new window. I would like to get back to the detail view by closing the window, as opposed to using the back button. Thanks!