on 09-11-2008 1:41 PM
Hi everybody,
I am looking for the detailed ABAP code for the following problem:
DSO: DSO_BILL
Data Fields:
- BUSINESS (CHAR 60)
- USERS (CHAR 60)
- HOURS
CUBE: CUBE_ID
- BUSINESS (CHAR 60)
- 0EMPLOYEE
- HOURS
I need a Start Routine code where in if a record has the text "1233;12546:458" in USERS fields
in the DSO then this recods is splitted in 3 record in the infocube with
1° record: 0EMPLOYEE=1233
2° record: 0EMPLOYEE=12546
3° record: 0EMPLOYEE=458
Points will be awarded ...
Thanks,
Rodolphe.
Hi,
The code should be similar to the below. and the mapping in the transformation should be one to one from DSO to cube. becasue we will be changing the data in source package in start routine.
DATA : I_PACKAGE LIKE SOURCE_PACKAGE .
DATA : WA_PACKAGE1 TYPE tys_SC_1 .
DATA : WA_PACKAGE2 TYPE tys_SC_1 .
data : begin of i_table occurs 0 ,
field(75),
end of i_table .
MOVE SOURCE_PACKAGE[] TO I_PACKAGE[] .
REFRESH SOURCE_PACKAGE .
LOOP AT I_PACKAGE INTO WA_PACKAGE1 .
refresh i_table .
split wa_package-user at ':' into table i_table .
LOOP at I_table .
WA_PACKAGE2 -BUSINESS = WA_PACKAGE1 -BUSINESS .
WA_PACKAGE2 -USERS = i_table-field .
WA_PACKAGE2 -HOURS = WA_PACKAGE1 -HOURS .
APPEND WA_PACAKGE2 to source_package
CLEAR wa_pacakge2.
endloop.
ENDLOOP.
Let me know if you need more info
Hope this helps
Regards
PV
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes Thanks a lot!
assigned points ....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
79 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.