How to check IDOC Serialization for custom idoc
In one of my interfaces, we are receiving idocs ARTMAS, INFREC, COND_A and ZMD_ARTHIER in ECC system.Last one is customized one in which basically we have to assign one article to an article hierarchy. So this idoc will contain only article no, hierarchy id and node level in which article will be assigned.
Now here we have to implement idoc serialization so that if ARTMAS in any case fails then INFREC, COND_A and ZMD_ARTHIER idocs should not be posted. We will be using RBDSER04 program for inbound processing.
My concern is that whether we have to do any special coding for serialization check in custom function module for the last idoc ZMD_ARTHIER.
If yes, please please let me know how to do handle that in custom inbound function module.
Edited by: suman pandit on May 19, 2009 10:47 AM
Hi,
you need to create a serialization group (in customizing) and assign all the IDocs (in specific order) to this group incl. your custom IDoc.
When data is transfered first a SERDAT01 IDoc will be sent, after this your IDocs have to follow in specific order. At last again a SERDAT01 follows and triggers the processing in the destination system.
Regards,
Kai
Similar Messages
-
Idoc serialization for custom message types
Hello,
We have a scenario where we need to serialize outbound messages where the message types are both custom and SAP standard. Can we serialize custom message types and how?Hi,
you need to create a serialization group (in customizing) and assign all the IDocs (in specific order) to this group incl. your custom IDoc.
When data is transfered first a SERDAT01 IDoc will be sent, after this your IDocs have to follow in specific order. At last again a SERDAT01 follows and triggers the processing in the destination system.
Regards,
Kai -
How to Assign a function module for customized IDOC
Hi,
I have created a customized IDOC. Can any body explain how to assign a FM for customized IDOC? Is same IDOC can be used for both Outbound and Inbound Process? In WE41 and WE42 we have to give the outbound and inbound function module name. can we give same function module? Is process code is same for both outbound and inbound process?
Valuable suggetions are appreciated.
Regards,
RamHi ,
Here is the Procedure for the Inbound Idoc Funtion Module
Function Module : SE37
Message : WE81
Assign message : WE82
Assgin FM : we57
Process Code : WE42.
Assign Partner Profile - WE20,
To test the Inbound IDOC.
In WE19, Give the IDOC number & execute ... then put the cursor on the idoc control record . then click on the Standard Inbound push button on the application tool bar.it will show show all the details like partner no,type , message type , process code & function module name ...
now put a break point in the function module .. & debug .
if u r using customised inbound function module , then click on inbound function module .. there u will get a pop screen with FM name & debugging option in both background & foreground mode...
Reward Points if it is Useful.
Thanks,
Manjunath MS -
Idoc Serialization for Transactional data
Hi All,
1. Please let me know if you have done IDOC serialization for Transactional data.
If so please let me know the steps.
2. How do we use serialiazation using object types. If you have done this please let me know the steps for this too.
Thanks for your help.
Srikanth.Hi Srikanth,
Follow the steps below to set up serialization using object types:
1. In the SAP menu choose ® IDoc Interface/ALE ® Development ® BAPI ® Serialization ® Serialization Using Business Objects ® Determine Supported Business Objects (transaction BD105). Enter all the business object types relevant for serialization.
2. In the SAP menu choose ® IDoc Interface/ALE ® Development ® BAPI ® Serialization ® Serialization Using Business Objects ® Assign Message Type to a Business Object (transaction BD104). Assign the message types relevant for serialization to each business object type.
3. In Customizing (IMG) activate the serialized distribution in both the sending and receiving systems:
ALE Implementation Guide (transaction SALE)
Modeling and Implementing Business Processes
Master Data Distribution
Serialization for Sending and Receiving Data
Serialization Using Business Objects
Execute activities Activate Outbound Business Objects and Activate Inbound Business Objects. Set the Serialization flag for the required business object types.
If you want to do serialization by message type then
1. go to BD44 and create a serialization group and assign messages and the serial number to each.
2. Run the program RBDSER01.
Award points if useful,
Aleem. -
Inbound function module for custom IDOC
HI,
I have created custom IDOC.I need to create inbound function module for that custom IDOC.Can any one send me sample
function module for custom IDOC.(what are all the import Export,tables parameters and exceptions that I need to create for function module)
Thanks&Regards
Rama.MekalaHI Rama,
I presumed that You are talking about a FM to create inbound IDOC. So for creating inbound IDOC you can use '
CALL FUNCTION 'IDOC_INBOUND_ASYNCHRONOUS'
TABLES
idoc_control_rec_40 = gt_edidc
idoc_data_rec_40 = gt_edidd.
IF sy-subrc NE 0.
* MESSAGE e000 WITH text-003.
* ELSE.
* MESSAGE i000 WITH text-004 .
ENDIF.
just prepare edidc and edidd record in and pass it to the FM..
Hope this will work for you...
Thanks -
How to write the logic for extending Idocs...
Hi,
Can anybody pls explain how to write the logic for extending IDOCs with an example...
Good suggestions can be appreciated..
Regards,
RamHi Ram,
Generally the IDoc user exit is called at the following places:
1) When the control record is read.
2) After each and every segment in the data record
3) At the end of the data segment processing.
The IDoc user exit interface generally imports IDOC_DATA (data record internal table) table. Now the data records in the internal table should appear in the same order as maintained while defining IDoc structure (WE30 transaction). For SAP standard segment SAP code will take care of this. For extended segment you will have to take care of this aspect by appending the Z-segment in the IDOC_DATA table.
You can do this by:
looping at IDOC_DATA table:
- Do a case-endcase fo IDOC_DATA-SEGNAM (This stores the segment
structure as per the hierarchy).
- Within the case for "Z-segment" you can write the logic for appending
the Z-segment to IDOC_DATA-SDATA.
Hope this gives some clue.
Regards,
Gajendra. -
How to check with table for cursor..?
How to check with table for cursor..?
Here I have Table temp_final_plan
Here i want to update if already exit...below is the procedure....
CREATE OR REPLACE PROCEDURE spu_final_profit_plan
AS
-- Constant declarations
ln_errnum number := 0;
-- Variable declarations
ls_errmsg app_errors.err_msg%TYPE;
ls_appmsg app_errors.app_msg%TYPE;
ls_appid app_errors.app_id%TYPE;
-- Cursor declaration for final_update_el
CURSOR cur_final_update_el IS
select '910' ent,
'9127316' center,
post_acct,
sum(avg_mtd_01) sum_avg_mtd_01,
sum(avg_mtd_02) sum_avg_mtd_02,
sum(avg_ytd_01) sum_avg_ytd_01,
sum(avg_ytd_02) sum_avg_ytd_02
from mon_act_cypy
where rec_type = 'A'
and sum_flag = 'D'
and yr = '2008'
and substr(ctr_or_hier, 1, 2) = 'el'
and ent || sub_ent in
(select ent || sub_ent
from ent_ref
where roll_ent || roll_sub_ent = '999100')
group by post_acct
having sum(avg_mtd_01) <> 0
or sum(avg_mtd_02) <> 0
or sum(avg_ytd_01) <> 0
or sum(avg_ytd_02) <> 0;
-- Cursor declaration for final_update
CURSOR cur_final_update IS
select b.plan_ent b_plan_ent,
b.plan_ctr b_plan_ctr,
a.post_acct a_post_acct,
sum(a.avg_mtd_01) sum_avg_mtd_01,
sum(a.avg_mtd_02) sum_avg_mtd_02,
sum(a.avg_ytd_01) sum_ytd_mtd_01,
sum(a.avg_ytd_02) sum_ytd_mtd_02
from mon_act_cypy a,
plan_unit_tbl b
where a.ent || a.ctr_or_hier = b.ent || b.ctr_or_hier
and a.rec_type = 'A'
and a.sum_flag = 'D'
and a.yr = '2008'
and b.hier_tbl_num = '001'
and a.ent || a.sub_ent in
(select ent || sub_ent
from ent_ref
where roll_ent || roll_sub_ent = '999100')
group by b.plan_ent, b.plan_ctr, a.post_acct
having sum(a.avg_mtd_01) <> 0
or sum(a.avg_mtd_02) <> 0
or sum(a.avg_ytd_01) <> 0
or sum(a.avg_ytd_02) <> 0;
-- Begin the procedure body
BEGIN
-- Insert / Update final profit plan for final_update query using cursor
FOR rec_final_update_el IN cur_final_update_el
LOOP
EXIT WHEN rec_final_update_el%NOTFOUND;
IF rec_final_update_el. THEN
UPDATE temp_final_plan
SET sum_avg_mtd_01 = rec_final_update_el.sum_avg_mtd_01,
sum_avg_mtd_02 = rec_final_update_el.sum_avg_mtd_02,
sum_avg_ytd_01 = rec_final_update_el.sum_avg_ytd_01,
sum_avg_ytd_02 = rec_final_update_el.sum_avg_ytd_02,
WHERE ent = rec_final_update_el.ent
AND center = rec_final_update_el.center
AND post_acct = rec_final_update_el.post_acct;
ELSE
INSERT INTO temp_final_plan VALUES(rec_final_update_el.ent,
rec_final_update_el.center,
rec_final_update_el.post_acct,
rec_final_update_el.sum_avg_mtd_01,
rec_final_update_el.sum_avg_mtd_02,
rec_final_update_el.sum_avg_ytd_01,
rec_final_update_el.sum_avg_ytd_02);
END IF;
END LOOP;
-- Insert / Update final profit plan for final_update query using cursor
FOR rec_final_update IN cur_final_update
LOOP
EXIT WHEN rec_final_update%NOTFOUND;
IF rec_final_update. THEN
UPDATE temp_final_plan
SET sum_avg_mtd_01 = rec_final_update.sum_avg_mtd_01,
sum_avg_mtd_02 = rec_final_update.sum_avg_mtd_02,
sum_avg_ytd_01 = rec_final_update.sum_avg_ytd_01,
sum_avg_ytd_02 = rec_final_update.sum_avg_ytd_02,
WHERE ent = rec_final_update.b_plan_ent
AND center = rec_final_update.b_plan_ctr
AND post_acct = rec_final_update.a_post_acct;
ELSE
INSERT INTO temp_final_plan VALUES(rec_final_update.b_plan_ent,
rec_final_update.b_plan_ctr,
rec_final_update.a_post_acct,
rec_final_update.sum_avg_mtd_01,
rec_final_update.sum_avg_mtd_02,
rec_final_update.sum_avg_ytd_01,
rec_final_update.sum_avg_ytd_02);
END IF;
END LOOP;
-- EXCEPTION handling section
EXCEPTION
-- Fire OTHERS Exception case by default
WHEN OTHERS THEN
-- ROLL BACK Transaction, if any failure
ROLLBACK;
ln_errnum := SQLCODE;
ls_errmsg := SUBSTR(SQLERRM, 1, 100);
-- Log the ERRORS into APP_ERRORS table using SPU_LOG_ERRORS procedure
spu_log_errors(ln_errnum, ls_errmsg, ls_appid, ls_appmsg);
-- End of the stored procedure
END spu_final_profit_plan;
[\pre]I'm not sure what you mean by, 'How to check with table for cursor..?' but I'll offer a comment on your Code Snippet. I think you want to know how to check if a record exists so you know if you need to perform an INSERT or an UPDATE.
Here is a snippet of your code. I'll put my comments in "Comment" style in your code.
-- Insert / Update final profit plan for final_update query using cursor
FOR rec_final_update_el IN cur_final_update_el
LOOP
/* There is no need to test for %NOTFOUND since you are using Cursor FOR Loop!
** This construct automatically exits when the last record is processed. */
EXIT WHEN rec_final_update_el%NOTFOUND;
/* Is this where you would like to know how to Check if the record already exist??
** I asked this because, 'rec_final_update_el.' is not valid syntax. Are you looking for
** an Cursor Attribute or Method you can check here?
** I would suggest a Primary Key or Unique Index on ENT, CENTER, and POST_ACCT
** on the TEMP_FINAL_PLAN table. Then simply perform an INSERT and code an
** Exception to UPDATE when you get a DUP_VAL_ON_INDEX exception. Otherwise,
** you will need to simply run an Implicit or Explicit Cursor to test if the row exists and
** use this return value to determine if you should INSERT or UPDATE. */
IF rec_final_update_el. THEN
UPDATE temp_final_plan
SET sum_avg_mtd_01 = rec_final_update_el.sum_avg_mtd_01,
sum_avg_mtd_02 = rec_final_update_el.sum_avg_mtd_02,
sum_avg_ytd_01 = rec_final_update_el.sum_avg_ytd_01,
sum_avg_ytd_02 = rec_final_update_el.sum_avg_ytd_02,
WHERE ent = rec_final_update_el.ent
AND center = rec_final_update_el.center
AND post_acct = rec_final_update_el.post_acct;
ELSE
INSERT INTO temp_final_plan VALUES(rec_final_update_el.ent,
rec_final_update_el.center,
rec_final_update_el.post_acct,
rec_final_update_el.sum_avg_mtd_01,
rec_final_update_el.sum_avg_mtd_02,
rec_final_update_el.sum_avg_ytd_01,
rec_final_update_el.sum_avg_ytd_02);
END IF;
END LOOP;I hope I've answered your question, but if I haven't please provide more details so we can better understand your request.
Craig... -
How to check call duration for total dialled calls (after resting) on a particular day in iphone 4?
Is there a solution like iphone 5, i.e.Settings > Cellular.if the device is unlocked cellular is called mobile
-
FIDCCP02 IDOCs : Details for Customer Invoice Clearing
We are planning on using FIDCCP02 IDOCs to post customer invoice clearing.
The IDOC gets created however when we check the IDOC status, it states that "Document does not contain any valid line items
Message no. F5079"
Can someone please let me know which segments and what fields we need to populate specifically for Invoice Clearing?
We are populating the following segments:
E1FIKPF
-- E1FISEG
---E1FISE2
---E1FINBU
--E1FISEC
--E1FISET
EDIDD Data Records
SEGNUM Segment Number 000001
SEGNAM Segment Name E1FIKPF
BUKRS Name of global company code ABCD
BELNR Accounting Document Number 3510452953
GJAHR Fiscal Year 2011
BLART Document Type AB
BLDAT Document Date in Document 20110329
BUDAT Posting Date in the Document 20110329
MONAT Fiscal Period 3
WWERT Translation Date 20110329
USNAM User Name TEST
TCODE Transaction Code FB05
WAERS Currency Key USD
GLVOR Business Transaction RFBU
AWTYP Reference Transaction BKPFF
SEGNUM Segment Number 000002
SEGNAM Segment Name E1FISEG
BUZEI Number of Line Item Within Acc 001
BSCHL Posting Key 40
KOART Account Type S : G/L accounts
SHKZG Debit/Credit Indicator S : Debit
DMBTR Amount in Local Currency 42.79
HKONT General Ledger Account 0000113434
SEGNUM Segment Number 000003
SEGNAM Segment Name E1FISE2
SEGNUM Segment Number 000004
SEGNAM Segment Name E1FINBU
KUNNR Customer Number 1 0060000006
PYCUR Currency for Automatic Payment USD
PYAMT Amount in Payment Currency 42.79
SEGNUM Segment Number 000005
SEGNAM Segment Name E1FISEC
BUZEI Number of Line Item Within Acc 001
SEGNUM Segment Number 000006
SEGNAM Segment Name E1FISET
EDIDS Status Records
EDIDS Status Record Number 1
ThanksWe are planning on using FIDCCP02 IDOCs to post customer invoice clearing.
The IDOC gets created however when we check the IDOC status, it states that "Document does not contain any valid line items
Message no. F5079"
Can someone please let me know which segments and what fields we need to populate specifically for Invoice Clearing?
We are populating the following segments:
E1FIKPF
-- E1FISEG
---E1FISE2
---E1FINBU
--E1FISEC
--E1FISET
EDIDD Data Records
SEGNUM Segment Number 000001
SEGNAM Segment Name E1FIKPF
BUKRS Name of global company code ABCD
BELNR Accounting Document Number 3510452953
GJAHR Fiscal Year 2011
BLART Document Type AB
BLDAT Document Date in Document 20110329
BUDAT Posting Date in the Document 20110329
MONAT Fiscal Period 3
WWERT Translation Date 20110329
USNAM User Name TEST
TCODE Transaction Code FB05
WAERS Currency Key USD
GLVOR Business Transaction RFBU
AWTYP Reference Transaction BKPFF
SEGNUM Segment Number 000002
SEGNAM Segment Name E1FISEG
BUZEI Number of Line Item Within Acc 001
BSCHL Posting Key 40
KOART Account Type S : G/L accounts
SHKZG Debit/Credit Indicator S : Debit
DMBTR Amount in Local Currency 42.79
HKONT General Ledger Account 0000113434
SEGNUM Segment Number 000003
SEGNAM Segment Name E1FISE2
SEGNUM Segment Number 000004
SEGNAM Segment Name E1FINBU
KUNNR Customer Number 1 0060000006
PYCUR Currency for Automatic Payment USD
PYAMT Amount in Payment Currency 42.79
SEGNUM Segment Number 000005
SEGNAM Segment Name E1FISEC
BUZEI Number of Line Item Within Acc 001
SEGNUM Segment Number 000006
SEGNAM Segment Name E1FISET
EDIDS Status Records
EDIDS Status Record Number 1
Thanks -
Custom process code and FM for custom IDoc...
Hello Experts,
I created a custom IDoc based from ARTMAS05 IDoc. This is because we only need 3 segments and
the standard idoc(Artmas05) contains so many segments that we need.
Now, will I create a custom process code and FM for this? how do I go about this?
Thank you guys and take care!Hello,
Here are the Steps that we need to be following while creating a Custom Process Code with Custom Function Module. ( Since the Segments to be handled are very Less, I am recommending that you go for a Custom Function Module).
1. Go to SE37 Create a Function Module. Please ensure to Create it with the IMPORT / EXPORT /TABLES parameters exactly in the way that they exist in any Standard SAP Inbound FM (Refer to IDOC_INPUT_ORDERS for example).
2. Once our FM is Ready (Need not be Complete with the Code to go ahead with the Process Code Creation) and Active, the next Step is to Create an Entry in the Transaction Code BD51 where we will register the Function Module.
3. Next, we'll have to go to T-Code WE57 where we'll have to make an entry for the Function Module with the IDoc Type & Message Type.
4. Finally, go to WE42 and Create a New Process Code and assign the Function Module and the Message Type.
NOTE 1 : The Process Code is, as we know, Client Dependent. So, once you create a Process Code, we need to have it migrated to the Testing Environment to Start & Carry Out Testing.
NOTE 2: If Step 2 & 3 are missing, then we'll not be able to assign the Function Module in WE42 while Creating Process Code.
Hope it was helpful.
Thanks and Regards,
Venkata Phani Prasad K -
How to check the status of an IDoc in the Target system
Hi Experts,
we are using a self-made program to send Material and BOMs from Client A to Client B into the same ERP System.
How can I check the status of an IDoc in the Target Client B (like BD87 - ALE Monitor) ?
If you have some examples or Function, please give me the information.
Rewards if helpful.
Regards,
DavidHi David
As mentioned in the earlier reply you can check your status with tcodes:-BD87,WE02,WE05.What i guess from your querry is the staus of your idoc whether posted or not in target client B.Check in the target client for the message type which you are using (since its an program that means you must be using an customised idoc type or standard) .You might have maintained Basic type tcode:-WE30.Give in your messagetype,Basictype,Created at and executed using tcode :- BD87.The prerequisites are you need to create an Partner Profile(WE20) .For this you need to create to provide in your message type and Process code(we41,we42,we57).If you have to create an process code for customised one(se37) .You need to actuivate the idoc inbound processing .If you are using a file in your file make it sure the port is being maintained for the same to chek for unicode format in tcode :-WE21 (check or uncheck).
For standard BOM i recon you are using message type :-BOMMAT and Processing code as:-BOMM.Its always advisible that instead of using an whole abap program you need to have an ETL tool that would take care of the extraction of data provided your client do have existing Legacy system in its place since it would be much faster and easier.
Regards
Somnath -
Hi,
I have custom IDoc , that i am sending to 4 different destinations (systems). My requirement is i need to send for 4 th destinations only header segment.
How do i filter this on the basis of partner profile number
Please don't suggest to change the code. I am looking for this can done without change function module or triggering program.
a®Hi,
You can use segment filtering (transaction BD56).
Here you can suppress a whole segment irrespective of data inside it .
You have to give Message Type/Sender Partner/Receiver Partner.
Regards,
Ferry Lianto -
INBOUND program For custom IDOC
Hi ,
i have a one senario on creation of IDOC,that is interface for the transmission of the Acknowledgement of check Remittance and Supplemental interface,once the message is received Successfully through OUTBOUND program it triges the Acknowledge other wise it send one mail to respective team for that i need to create a one inbound program please explain me i am new in the area of ALE/ IDOC please give in deatials.
Thanks,
HarinathHi Harinath,
In your case SAP is sending <b>Check Remittance and Supplemental</b> data to legacy system which in turn need to send acknowledgement for that. And its going to be in form of an idoc. for this we dont have an idoc you need to create one from scratch. please find the steps to be followed to create a custom idoc.
1) Create Z segment with required fields(fields coming towards you) using WE31
2) Create Z idoc using segment created in step 1 using WE30.
3) Create Z message type using WE81.
4) Link idoc created in step 2 with message type created in step 3 in WE82.
5) Create Z function module to post the idoc in SE37. Include all validations, updations to tables, Error handling in source code tab of this FM.
6) Maintain Inbound process code using the FM in WE42
Coming to sending a mail, It can only be done using workflow. But i think in your case it is not required. so it need to be done manually.
Get back if you have any doubts.
Regards,
Younus
<b>Reward Helpful Answers!!!</b> -
HOW TO WRITE USER EXIT FOR EXTENDED IDOC
Can somebody please help me as i need the user exit code for Shipment idoc.
I append the structure of VTTP and add one field with the name of ZDELCST i.e Delivery cost so i want to update that table once the idoc will post.
I have to write the user exit for this but i have no idea how to do this so kindly requesting someone to please write the code for me and i will be very grateful to him/her.
The functional module is IDOC_INPUT_SHIPPL
and there is a CALL CUSTOMER-FUNCTION '012'
this will take us to function module EXIT_SAPLV56I_012
This includes ZXV56U08
Within this include in need to map the delivery cost from the idoc to the new append filed VTTP-ZDELCSThi ,
'EXIT_SAPLHRBEN00GENERAL_014'
1)Goto CMOD tcode.
2)Click on Utilites on Menu bar.
3)Press Shift+F9, below in component name enter
EXIT_SAPLHRBEN00GENERAL_014,
4)F8 , then you will get Exit name PBEN0014
Double Click again Double Click you will get function
FUNCTION EXIT_SAPLHRBEN00GENERAL_014.
within this onel include file is there.
INCLUDE ZXPBEU14.
here you will write your Enhanc Code.
Reward if , you got soln,
Thanks. -
Idoc serialization for vendor and address master
Hi friends,
My gole is to transfer vendor master data from one sap ecc system to other ecc through PI.
I have achived this but the gmail and address data is not transfering as this is not a part of vendor master but even this address data need to passed to receiver system when ever there is change and creation of vendor.
Then i refered note Note 752194 - Serialization of IDoc processing and few threads in sdn ..
i am trying to do this serialization but i am facing issues to trigger idocs.
first this is the way we need to achive this.
if so adrmas is of type bapi so how can we group using Serialization Group of mesage type ..
guide me how to achive this.
And my vendor message type is customized one with zcremas_Xxx.
Regards
Vijay
Edited by: vijay Kumar on Dec 16, 2010 6:48 AMHi Vijay,
I am not sure whether you are active in SDN or not. I need your help in IDOC serialization
I have the same requirement like you here I need to Post ADRMAS and CREMAS. I am able to generate both the idocs succefully but the ADRNR is not assigned to the created Vendor. I might be missing something in config or in code.
Please reply to this thread and help me.
Maybe you are looking for
-
[Windows] Video conversion for iPod Touch on 2.0
I have recently purchased an iPod Touch 16Gb - cost £242 -, on software version 1.1.4. Immediately installing the latest iTunes (7.7.1.11) with Quicktime (7.5 Build 861), I upgraded the Software version to 2.0. Cost £6.99 Then I went to transfer vide
-
Photos imported, folders disappeared
I'm using LR3.2 and imported pictures into LR catalog and copied the pictures into my external HD. I've done this exactly the same way for every import I've completed in LR. The imported folder shows up on the folders panel in the Library module, eve
-
I was wondering is there a way to show chart point values so that the values always show instead of just on mouseover? Right now I'm using cfchart and having it render as a Flash movie. Here's my code below. <cfchart format="flash" scalefrom="
-
Is it just me being feeble?
Just bought an additional 512 for my 17" flat panel imac and I can't get the screws to undo! Arghhh!!! I am really really paranoid about being too forceful as I don't want to damage the screw heads - the middle one turns just fine but the other two a
-
I'm having an tasktable which has startdate,enddate,activity,subactivity etc. Now I have to create a tasks by duration in mins report and group it by duration. I'm a newbee to oracle and I have done grouping by column. I dont know how to group it by