Issue in WBS element Status in BI
Hi,
Can I reopen the WBS element from closed to release status? If yes how it again will be update to BI system?
Kindly help me.
Hello again,
I´m sorry I missed the BI part...I have no knowledge on that side. Maybe other experts my assist here.
Regarding JEST: An object can have more than one current status. You can filter out those status from JEST that are inactive
(field INACT) and those that are user status (code starting with 'E' in field STAT).
In order to identify the status codes with their names and description you may check table TJ02T.
Unfortunately there is no other more direct way to check this in tables.
Hope this helps and sorry again for the missunderstandin
Rgds
Martina
Similar Messages
-
Table for description of WBS element status
hi guys ,
i use BAPI_BUS2054_GET_STATUS to get WBS element status and it return value of REL , in which table can i get the description of REL ?hi
hope u will get some idea from this code:-
Reward if help.
Adding WBS Element in Proper Hierarchy from a Text File.
*& Include ZBAPIWBS
*& Report Z_BAPI_CJ20N
REPORT Z_BAPI_CJ20N.
INCLUDE ZBAPICJ20NTOP.
INCLUDE ZBAPICJ20NFILEUP.
INCLUDE ZBAPICJ20NLOGIC.
*& Include ZBAPICJ20NTOP
DATA: BEGIN OF ITMAIN OCCURS 0,
PROJECT_DEFINITION TYPE PS_PSPID,
DESCRIPTION TYPE PS_POST1,
PROJECT_PROFILE TYPE PROFIDPROJ,
BUS_AREA TYPE GSBER,
WBS_ELEMENT TYPE PS_POSID,
WBS_DESCRIPTION TYPE PS_POST1,
END OF ITMAIN,WA_MAIN LIKE LINE OF ITMAIN,ITWBS LIKE STANDARD
TABLE OF ITMAIN WITH HEADER LINE, ITMAIN2 LIKE STANDARD TABLE OF
ITMAIN.
DATA: ITPRJDEF TYPE STANDARD TABLE OF BAPI_PROJECT_DEFINITION WITH
HEADER LINE,WA_PRJDEF LIKE LINE OF ITPRJDEF.
DATA: ITPRJDEFUP TYPE STANDARD TABLE OF BAPI_PROJECT_DEFINITION_UP WITH
HEADER LINE, WA_PRJDEFUP LIKE LINE OF ITPRJDEFUP.
DATA: ITMETPRJ TYPE STANDARD TABLE OF BAPI_METHOD_PROJECT,
WA_METPRJ LIKE LINE OF ITMETPRJ.
DATA: RETURN TYPE BAPIRETURN1,MSG TYPE STANDARD TABLE OF
BAPI_METH_MESSAGE WITH HEADER LINE.
DATA: LINES TYPE I,REFNO TYPE I VALUE 0.
DESCRIBE TABLE ITMAIN LINES LINES.
DATA: METTYPE TYPE STRING VALUE 'Create'.
DATA: WA_DUPLI LIKE LINE OF ITMAIN.
WA_DUPLI-PROJECT_DEFINITION = 'JB'.
DATA: SPLIT1(50) TYPE C.
DATA: PREVWBS TYPE PS_POSID VALUE ' ',
LEFTWBS TYPE PS_POSID VALUE ' '.
DATA: POS TYPE I VALUE 1.
DATA: OFF TYPE I VALUE 0,MODE TYPE I,INDEX1 TYPE I VALUE 0,
INDEX2 TYPE I VALUE 0,INDEX3 TYPE I VALUE 0,
INDEX4 TYPE I VALUE 0,INDEX5 TYPE I VALUE 0,
POS2 TYPE I VALUE 0,FLAG TYPE I VALUE 0.
DATA: ITBUS TYPE STANDARD TABLE OF BAPI_BUS2054_NEW,
WA_BUS LIKE LINE OF ITBUS, RET TYPE STANDARD TABLE OF BAPIRET2,
WA_RET LIKE LINE OF RET, ITBUS2 LIKE STANDARD TABLE OF BAPI_BUS2054_NEW,
WA_BUS2 LIKE LINE OF ITBUS, WA_BUS3 LIKE LINE OF ITBUS.
DATA: BAPIRET TYPE BAPIRETURN1,
PROJEX TYPE BAPI_PROJECT_DEFINITION_EX.
*& Include ZBAPICJ20NFILEUP
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = ' '
FILETYPE = 'DAT'
TABLES
DATA_TAB = ITMAIN .
*& Include ZBAPICJ20NLOGIC
SORT ITMAIN BY PROJECT_DEFINITION WBS_ELEMENT.
LOOP AT ITMAIN INTO WA_MAIN.
IF WA_DUPLI-PROJECT_DEFINITION <> WA_MAIN-PROJECT_DEFINITION.
WA_PRJDEF-PROJECT_DEFINITION = WA_MAIN-PROJECT_DEFINITION.
WA_PRJDEF-DESCRIPTION = WA_MAIN-DESCRIPTION.
WA_PRJDEF-PROJECT_PROFILE = WA_MAIN-PROJECT_PROFILE.
WA_PRJDEF-BUS_AREA = WA_MAIN-BUS_AREA.
WA_PRJDEFUP-PROJECT_DEFINITION = 'X'.
WA_PRJDEFUP-DESCRIPTION = 'X'.
WA_PRJDEFUP-PROJECT_PROFILE = 'X'.
WA_PRJDEFUP-BUS_AREA = 'X'.
WA_METPRJ-REFNUMBER = REFNO + 1 .
WA_METPRJ-OBJECTTYPE = 'ProjectDefinition'.
WA_METPRJ-METHOD = METTYPE.
WA_METPRJ-OBJECTKEY = WA_MAIN-PROJECT_DEFINITION.
APPEND WA_METPRJ TO ITMETPRJ.
WA_METPRJ-REFNUMBER = ''.
WA_METPRJ-OBJECTTYPE = ''.
WA_METPRJ-METHOD = 'Save'.
WA_METPRJ-OBJECTKEY = ''.
APPEND WA_METPRJ TO ITMETPRJ.
CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'
EXPORTING
I_PROJECT_DEFINITION = WA_PRJDEF
I_PROJECT_DEFINITION_UPD = WA_PRJDEFUP
IMPORTING
RETURN = RETURN
TABLES
I_METHOD_PROJECT = ITMETPRJ
E_MESSAGE_TABLE = MSG.
IF SY-SUBRC = 0.
FLAG = 1.
ENDIF.
WA_DUPLI-PROJECT_DEFINITION = WA_MAIN-PROJECT_DEFINITION.
COMMIT WORK.
DELETE ITMETPRJ FROM 1 TO 2.
INCLUDE ZBAPIWBS_ALL.
ENDIF.
ENDLOOP.
*& Include ZBAPIWBS_ALL
LOOP AT ITMAIN INTO WA_MAIN WHERE PROJECT_DEFINITION = WA_DUPLI-PROJECT_DEFINITION.
APPEND WA_MAIN TO ITWBS.
ENDLOOP.
*Sort the table
LOOP AT ITWBS INTO WA_MAIN.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
POS = 0.
LOOP AT ITWBS WHERE WBS_ELEMENT <> SPLIT1.
IF STRLEN( ITWBS-WBS_ELEMENT ) = STRLEN( SPLIT1 ).
IF POS = 0.
APPEND WA_MAIN TO ITMAIN2.
ENDIF.
APPEND ITWBS TO ITMAIN2.
DELETE ITWBS WHERE WBS_ELEMENT EQ ITWBS-WBS_ELEMENT.
POS = 1.
ELSE.
IF POS = 0.
APPEND WA_MAIN TO ITMAIN2.
DELETE ITWBS WHERE WBS_ELEMENT EQ WA_MAIN.
ENDIF.
POS = 1.
ENDIF.
ENDLOOP.
INDEX1 = INDEX1 + 1.
ENDLOOP.
*Define UP element
LOOP AT ITMAIN2 INTO WA_MAIN.
WA_BUS-WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
WA_BUS-DESCRIPTION = WA_MAIN-WBS_DESCRIPTION.
WA_BUS-WBS_UP = ''.
WA_BUS-WBS_LEFT = ''.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
LOOP AT ITMAIN2 INTO WA_MAIN WHERE WBS_ELEMENT <> SPLIT1.
IF STRLEN( WA_MAIN-WBS_ELEMENT ) < STRLEN( SPLIT1 ) .
FIND WA_MAIN-WBS_ELEMENT IN SPLIT1.
IF SY-SUBRC = 0.
WA_BUS-WBS_UP = WA_MAIN-WBS_ELEMENT.
PREVWBS = WA_MAIN-WBS_ELEMENT.
ENDIF.
ENDIF.
ENDLOOP.
APPEND WA_BUS TO ITBUS.
INDEX2 = INDEX2 + 1.
ENDLOOP.
PREVWBS = ''.
LEFTWBS = ''.
Define LEFT ELEMENT.
LOOP AT ITMAIN2 INTO WA_MAIN.
POS = 0.
SPLIT1 = WA_MAIN-WBS_ELEMENT.
READ TABLE ITBUS INTO WA_BUS2 WITH KEY WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
WA_BUS-WBS_ELEMENT = SPLIT1.
WA_BUS-DESCRIPTION = WA_MAIN-WBS_DESCRIPTION.
WA_BUS-WBS_UP = WA_BUS2-WBS_UP.
OFF = SY-TABIX.
LOOP AT ITMAIN2 INTO WA_MAIN WHERE WBS_ELEMENT <> SPLIT1.
READ TABLE ITBUS INTO WA_BUS3 WITH KEY WBS_ELEMENT = WA_MAIN-WBS_ELEMENT.
IF STRLEN( WA_BUS2-WBS_ELEMENT ) = STRLEN( WA_BUS3-WBS_ELEMENT ) AND
WA_BUS2-WBS_UP = WA_BUS3-WBS_UP AND POS = 0.
IF STRLEN( LEFTWBS ) <> STRLEN( SPLIT1 ).
LEFTWBS = ''.
ENDIF.
IF STRLEN( LEFTWBS ) = STRLEN( SPLIT1 ).
FIND WA_BUS2-WBS_UP IN LEFTWBS.
IF SY-SUBRC <> 0.
LEFTWBS = ''.
ENDIF.
ENDIF.
WA_BUS-WBS_LEFT = LEFTWBS.
LEFTWBS = SPLIT1.
POS = 1.
MODIFY ITBUS INDEX OFF FROM WA_BUS.
ENDIF.
ENDLOOP.
ENDLOOP.
WA_BUS-WBS_ELEMENT = ''.
APPEND WA_BUS TO ITBUS.
Store WBS ELEMENTS.
LOOP AT ITBUS INTO WA_BUS.
SPLIT1 = WA_BUS-WBS_ELEMENT.
APPEND WA_BUS TO ITBUS2.
INDEX3 = 1.
POS = 0.
LOOP AT ITBUS INTO WA_BUS WHERE WBS_ELEMENT <> SPLIT1.
IF STRLEN( WA_BUS-WBS_ELEMENT ) <> STRLEN( SPLIT1 ) AND POS = 0.
POS = 1.
INDEX4 = INDEX3.
CALL FUNCTION 'BAPI_PS_INITIALIZATION' .
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
I_PROJECT_DEFINITION = WA_DUPLI-PROJECT_DEFINITION
TABLES
IT_WBS_ELEMENT = ITBUS2
ET_RETURN = RET .
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
TABLES
ET_RETURN = RET.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = WA_RET.
ENDIF.
APPEND WA_BUS TO ITBUS2.
INDEX3 = INDEX3 + 1.
ENDLOOP.
DELETE ITBUS2 FROM 1 TO INDEX3.
DELETE ITBUS FROM 1 TO INDEX4.
ENDLOOP.
DELETE ITWBS FROM 1 TO INDEX1.
CLEAR ITWBS.
DELETE ITMAIN2 FROM 1 TO INDEX2.
*At the end of all projects' processing
IF FLAG = 1.
CALL FUNCTION 'POPUP_FOR_INTERACTION'
EXPORTING
HEADLINE = 'PS Project & WBS Creation'
TEXT1 = 'All the Projects have been created.Please check......'
TICON = 'I'
BUTTON_1 = 'OK'.
ELSE.
CALL FUNCTION 'POPUP_FOR_INTERACTION'
EXPORTING
HEADLINE = 'Jeet Program'
TEXT1 = 'No Projects were created...'
TICON = 'I'
BUTTON_1 = 'CANCEL'
ENDIF. -
How to Change WBS Element Status Profile
Dear PS Experts,
Once Status profile is set for WBS element, system is not allowing to change the same.
What should I do to change the status profile?
Moreover I will like to know the Table details in which Status profile details are kept for a WBS Element.
Thanking you all.Hi,
You can change the status profile on 'Control' tab of Project Definition. But this change will be effective for new WBS elements. I dont think you can change status profile for existing WBS. You will have to delete and re-create them.
Status proflie for WBS is stored in JSTO table. Get OBJNR for WBS from PRPS table and insert in JSTO table to get status profile.
Regards
Shrikant -
Multiple milestone creation issue for WBS element 'BAPI_PROJECT_MAINTAIN'?
Hi all,
I am using 'BAPI_PROJECT_MAINTAIN' to create Project definition,WBS element & milestone for WBS at once.
The program is working fine if one wbs element have one milestone.
But If any of the WBS elements have more than one milestone, the milestones are not creating properly.
The bottom level WBS milestones are creating for some higher level WBS. some milestones are not at all
creating. I am not getting any error message.
Code for mile stone section is :
**fill milsestone data for WBS in BAPI structures
lv_mlstno = lv_mlstno + 1.
it_wbsmilestone-milestone_number = lv_mlstno.
it_wbsmilestone-wbs_element = it_wbsdata-ID.
it_wbsmilestone-milestone_usage = it_wbsdata-mlstn.
concatenate it_wbsdata-edatu+6(4) it_wbsdata-edatu+3(2) it_wbsdata-edatu(2) into it_wbsmilestone-FIXED_MILESTONE_DATE_BASIC.
it_wbsmilestone-SALES_DOC_DATE_INIDICATOR = it_wbsdata-faktp.
it_wbsmilestone-INVOICE_PERCENTAGE = it_wbsdata-fproz.
append it_wbsmilestone.
clear it_wbsmilestone.
**fill milsestone data for WBS in BAPI update structures
it_wbsmilestoneupd-milestone_number = cs_x.
it_wbsmilestoneupd-wbs_element = cs_x.
it_wbsmilestoneupd-wbs_element = cs_x.
it_wbsmilestoneupd-milestone_usage = cs_x.
it_wbsmilestoneUPD-FIXED_MILESTONE_DATE_BASIC = cs_x.
it_wbsmilestoneupd-SALES_DOC_DATE_INIDICATOR = cs_x.
it_wbsmilestoneupd-INVOICE_PERCENTAGE = cs_x.
append it_wbsmilestoneUPD.
clear it_wbsmilestoneUPD.
**Fill bapi table method project1 for the creation of WBS milestone
**milestone will be created only after the creation of WBS elements first
**lv_refnum is the link to wbs element, which is already appened to it_methodproject
it_methodproject-refnumber = lv_refnum.
it_methodproject-objecttype = 'WBS Milestone'.
it_methodproject-method = 'Create'.
append it_methodproject.
clear it_methodproject.
endif.
How to resolve the issue?
Please help.
Thanks,
vamshiHi Ravi,
Thanks for your continuous reply.
The problem is solved.
I have passed the, reference number of WBS element creation to milestone creation in the 'Method' table.
Thatswhy it is picking wrongly.
I have corrected this by passing different reference numbers to WBS and milestone creations
based on their tables.
Thanks,
Vamshi -
Hi,
I want to maintain two different cost centers belonging to different company codes (one with USD and other with INR) in WBS element level in requesting and responsible cost center field. When I do this, I'm getting an error message stating that "currency in requesting company code must be company code currency". Please let me know how to overcome this issue and maintain cost centers with two different currencies.
AmanAman,
This is standard functionality cost center company code should be same as WBS company code.
Question:
Why you want to assign cost center's from diferent company code to one WBS element?
Thanks
Aby -
Equipments Issued for WBS element
Hi all,
A Functional Location can be added to a WBS Element. We have came up with a requirement that once the equipments are issued against a WBS element, those issued are required to be installed at particular functional location automatically.
How we could cater this?
We need to do this without a ABAP development.
Thanks in advance.hi sank.N
if in Order settlement profile is u maintain default settlement category as WBS ,and mention WBS no account assignment tab in eqpt,f.loc then when u create MO on that eqpt or f.loc then in settlement rule u can find the WBS no .... and also for automatic assignment of F.loc to WBS in case of PM-PS intregration for managinig shutdown maintenance etc
regrds
pushpa -
Very urgent- find parent-child relationship for wbs element
Hi,
There is a certain parent child heirachy in WBS elements.My requiremnet is to delete WBS element depending on certain field , say depending on some ""status"".If the status is active in some or any of the child then I am not suppose to delete its respective parent too. This parent-child relation can have say 5 levels.
For this I require a logic /program which shall maintain the parent reference for that particular child whih I want/ dont want to delete.
I am maintaining bottom- to -top approach.
That is I shall be checking for the status of the lowest level of WBS and then going to the highest.
Please Help!
Kshitijahi you can use following code....
REPORT zpmgmt_rpt_projinfo NO STANDARD PAGE HEADING LINE-SIZE 160.
*& Includes
INCLUDE <icon>.
INCLUDE zdata_declare_n. " include for data declaration
INCLUDE zsubr_n. " include for both subroutines
DATA: gv_index LIKE sy-tabix,
lv_index LIKE sy-tabix,
date_index TYPE sy-tabix.
*& Start of Selection ( Get Data )
START-OF-SELECTION.
For initial display cnt is set to X
IF cnt EQ 'X'.
PERFORM getdata.
CLEAR it_final.
PERFORM hierarchy.
cnt = ''.
ENDIF.
*& Form GETDATA
Fetches the data and logic for T1 and T2
--> p1 text
<-- p2 text
FORM getdata.
Getting project header data
SELECT * FROM proj
INTO CORRESPONDING FIELDS OF TABLE it_proj
WHERE pspid IN so_posid
AND werks IN so_plant
AND stort IN so_loc
AND erdat IN so_date.
IF sy-subrc <> 0.
MESSAGE 'Enter the valid entry' TYPE 'I'.
STOP.
ENDIF.
LOOP AT it_proj.
PROJECT = it_proj-pspid.
Get project & WBS element details
BAPI used gives the output in some specific format
which is used for roll-up logic.
CALL FUNCTION 'BAPI_PROJECT_GETINFO'
EXPORTING
project_definition = project
with_activities = 'X'
IMPORTING
e_project_definition = e_project_definition
TABLES
e_wbs_hierarchie_table = e_wbs_hierarchie_table.
Appending all the projects in the e_wbs.
LOOP AT e_wbs_hierarchie_table.
MOVE-CORRESPONDING e_wbs_hierarchie_table TO e_wbs.
APPEND e_wbs.
CLEAR e_wbs.
ENDLOOP.
CLEAR PROJECT.
ENDLOOP.
SET COUNTRY 'US'.
i_repid = sy-repid.
Getting data into internal tables
Getting project WBS element
SELECT * FROM prps
INTO CORRESPONDING FIELDS OF TABLE it_prps
FOR ALL ENTRIES IN it_proj
WHERE psphi = it_proj-pspnr.
Getting project activities
SELECT * FROM afvc
INTO CORRESPONDING FIELDS OF TABLE it_afvc
FOR ALL ENTRIES IN it_prps
WHERE projn = it_prps-pspnr.
SORT it_afvc BY vornr.
Getting activities start & end dates from AFVV
SELECT * FROM afvv
INTO CORRESPONDING FIELDS OF TABLE it_afvv
FOR ALL ENTRIES IN it_afvc
WHERE aufpl = it_afvc-aufpl
AND aplzl = it_afvc-aplzl.
Getting plant name
SELECT * FROM t001w
INTO CORRESPONDING FIELDS OF TABLE it_t001w
FOR ALL ENTRIES IN it_proj
WHERE werks = it_proj-werks.
Logic for passing data to final internal table
Passing Project master data
READ TABLE it_proj INDEX 1.
IF sy-subrc EQ 0.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
EXPORTING
input = it_proj-pspid
IMPORTING
output = it_proj-pspid.
it_final-posid = it_proj-pspid.
it_final-post1 = it_proj-post1.
APPEND it_final.
CLEAR it_final.
ENDIF.
Passing WBS element to the final internal table IT_FINAL
LOOP AT it_prps.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
EXPORTING
input = it_prps-posid
IMPORTING
output = it_prps-posid.
CLEAR color.
Get WBS element status ans color(T2)from OBJNR
CALL FUNCTION 'ZGET_STATUS_N'
EXPORTING
objnr = it_prps-objnr
IMPORTING
color = color
TABLES
t_status = it_tj30t.
IF color = 'RED'.
it_final-t2 = '@0A@'.
ELSEIF color = 'YELLOW'.
it_final-t2 = '@09@'.
ELSEIF color = 'GREEN'.
it_final-t2 = '@08@'.
ENDIF.
SORT it_tj30t DESCENDING.
Getting User statuses of WBS element at component level.
READ TABLE it_tj30t INDEX 1.
IF sy-subrc EQ 0.
CONCATENATE it_tj30t-txt04 '' INTO it_final-txt04 SEPARATED BY space.
ENDIF.
READ TABLE it_tj30t INDEX 2.
IF sy-subrc EQ 0.
CONCATENATE it_tj30t-txt04 it_final-txt04 INTO it_final-txt04 SEPARATED BY space.
ENDIF.
MOVE-CORRESPONDING it_prps TO it_final.
READ TABLE it_proj WITH KEY pspid = it_prps-posid.
IF sy-subrc EQ 0.
it_final-werks = it_proj-werks.
ENDIF.
APPEND it_final.
CLEAR it_final-txt04.
Passing activity to the final internal table IT_FINAL
LOOP AT it_afvc WHERE projn EQ it_prps-pspnr.
CLEAR color.
Getting user status and color(T2) for Activity from OBJNR
CALL FUNCTION 'ZGET_STATUS_N'
EXPORTING
objnr = it_afvc-objnr
IMPORTING
color = color
TABLES
t_status = it_tj30t.
IF color = 'RED'.
it_final-t2 = '@0A@'.
ELSEIF color = 'YELLOW'.
it_final-t2 = '@09@'.
ELSEIF color = 'GREEN'.
it_final-t2 = '@08@'.
ENDIF.
CLEAR: it_final-fsavd,
it_final-fssad.
MOVE-CORRESPONDING it_afvc TO it_final.
Getting User statuses of WBS element at activity level.
SORT it_tj30t DESCENDING.
READ TABLE it_tj30t INDEX 1.
IF sy-subrc EQ 0.
CONCATENATE it_tj30t-txt04 '' INTO it_final-txt04 SEPARATED BY space.
ENDIF.
READ TABLE it_tj30t INDEX 2.
IF sy-subrc EQ 0.
CONCATENATE it_tj30t-txt04 it_final-txt04 INTO it_final-txt04 SEPARATED BY space.
ENDIF.
APPEND it_final.
lv_index = sy-tabix.
CLEAR it_final-txt04.
CLEAR it_final-ltxa1.
CLEAR it_tj30t.
REFRESH it_tj30t.
Start Date and End Date fetched from AFVV.
LOOP AT it_afvv WHERE aufpl EQ it_afvc-aufpl
AND aplzl EQ it_afvc-aplzl.
MOVE-CORRESPONDING it_afvv TO it_final.
MODIFY it_final INDEX lv_index TRANSPORTING fsavd fssad.
ENDLOOP.
CLEAR it_afvc.
CLEAR lv_index.
ENDLOOP.
ENDLOOP.
Logic for T1.
T1 is based on T2 and start date and end date of activities.
LOOP AT it_final WHERE stufe = 3
AND ltxa1 IS NOT INITIAL.
gv_index = sy-tabix.
PERFORM date_difference.
CASE it_final-t2.
WHEN '@0A@'. " If Red
IF sy-datum GT it_final-fssad.
it_final-t1 = '@0A@'.
ELSEIF sy-datum LE it_final-fssad AND
sy-datum GE it_final-fsavd.
IF gv_diff > 1.
PERFORM date_monitor.
ENDIF.
it_final-t1 = '@09@'.
ELSEIF
sy-datum LT it_final-fsavd.
it_final-t1 = '@08@'.
ENDIF.
WHEN '@09@'. " If Yellow
IF sy-datum GT it_final-fssad.
it_final-t1 = '@0A@'.
ELSEIF sy-datum LE it_final-fssad AND
sy-datum GE it_final-fsavd.
IF gv_diff > 1.
PERFORM date_monitor.
ENDIF.
it_final-t1 = '@09@'.
ELSEIF
sy-datum LT it_final-fsavd.
it_final-t1 = '@08@'.
ENDIF.
WHEN '@08@'. " If Green
it_final-t1 = '@08@'.
ENDCASE.
MODIFY it_final INDEX gv_index TRANSPORTING t1.
CLEAR gv_index.
ENDLOOP.
ENDFORM. " GETDATA
*& Form hierarchy
Displays the data in ALV hierarchical manner.
In coding 3 tables are used for roll-up functionality.
FORM hierarchy .
DATA: it_final1 LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA: it_final2 LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA: it_final3 LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA: count TYPE i VALUE 1.
DATA: posid LIKE prps-posid.
DATA: change,
date_mask TYPE c LENGTH 10,
lv_index2 LIKE sy-tabix.
DATA: index TYPE sy-tabix.
DATA: up LIKE prps-posid.
Deleting duplicate entries from the it_final.*****************
DELETE ADJACENT DUPLICATES FROM it_final.
LOOP AT it_final WHERE stufe EQ 2.
IF posid NE it_final-posid.
posid = it_final-posid.
ELSE.
DELETE it_final INDEX sy-tabix.
ENDIF.
ENDLOOP.
CLEAR posid.
LOOP AT it_final WHERE stufe EQ 3
AND ltxa1 EQ space.
IF posid NE it_final-posid.
posid = it_final-posid.
ELSE.
DELETE it_final INDEX sy-tabix.
ENDIF.
ENDLOOP.
Updating a new intrnal table for roll up functionality. ********
it_final1[] = it_final[].
CLEAR: lv_index2.
LOOP AT it_final1 WHERE stufe = 3
AND ltxa1 IS NOT INITIAL.
READ TABLE it_final WITH KEY stufe = 3
posid = it_final1-posid
post1 = it_final1-post1.
clear change.
IF sy-subrc = 0.
lv_index = sy-tabix.
IF lv_index2 <> lv_index.
CLEAR: change.
lv_index2 = lv_index.
ENDIF.
IF it_final1-t1 = '@0A@'.
it_final-t1 = '@0A@' .
MODIFY it_final INDEX lv_index TRANSPORTING t1.
DELETE it_final1 WHERE posid = it_final-posid.
CONTINUE.
ENDIF.
IF it_final1-t1 = '@09@'.
it_final-t1 = '@09@'.
change = 'Y'.
MODIFY it_final INDEX lv_index TRANSPORTING t1.
CONTINUE.
ENDIF.
IF it_final1-t1 = '@08@'.
it_final-t1 = '@08@' .
IF change IS INITIAL.
MODIFY it_final INDEX lv_index TRANSPORTING t1.
ENDIF.
CONTINUE.
ENDIF.
ENDIF.
ENDLOOP.
it_final2[] = it_final[].
CLEAR: lv_index2.
LOOP AT it_final2 WHERE stufe = 3
AND ltxa1 IS INITIAL.
READ TABLE e_wbs WITH KEY wbs_element = it_final2-posid.
IF sy-subrc = 0.
READ TABLE it_final WITH KEY stufe = 2
posid = e_wbs-up.
IF sy-subrc = 0.
CHECK it_final-t1 <> '@0A@'.
lv_index = sy-tabix.
IF lv_index2 <> lv_index.
CLEAR: change.
lv_index2 = lv_index.
ENDIF.
IF it_final2-t1 = '@0A@'.
it_final-t1 = '@0A@' .
MODIFY it_final INDEX lv_index TRANSPORTING t1.
CONTINUE.
ENDIF.
IF it_final2-t1 = '@09@'.
it_final-t1 = '@09@'.
MODIFY it_final INDEX lv_index TRANSPORTING t1.
change = 'Y'.
CONTINUE.
ENDIF.
IF it_final2-t1 = '@08@'.
it_final-t1 = '@08@' .
IF change IS INITIAL.
MODIFY it_final INDEX lv_index TRANSPORTING t1.
ENDIF.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
it_final3[] = it_final[].
CLEAR: lv_index2.
CLEAR change.
LOOP AT it_final3 WHERE stufe = 2.
READ TABLE e_wbs WITH KEY wbs_element = it_final3-posid.
CHECK sy-subrc = 0.
READ TABLE it_final WITH KEY stufe = 1
posid = e_wbs-up.
IF sy-subrc = 0.
CHECK it_final-t1 <> '@0A@'.
lv_index = sy-tabix.
IF lv_index2 <> lv_index.
CLEAR: change.
lv_index2 = lv_index.
ENDIF.
IF it_final3-t1 = '@0A@'.
it_final-t1 = '@0A@' .
MODIFY it_final INDEX lv_index TRANSPORTING t1.
DELETE it_final3. " WHERE stufe = 2.
CONTINUE.
ENDIF.
IF it_final3-t1 = '@09@'.
it_final-t1 = '@09@'.
MODIFY it_final INDEX lv_index TRANSPORTING t1.
change = 'Y'.
CONTINUE.
ENDIF.
IF it_final3-t1 = '@08@'.
it_final-t1 = '@08@' .
IF change IS INITIAL.
MODIFY it_final INDEX lv_index TRANSPORTING t1.
ENDIF.
CONTINUE.
ENDIF.
ENDIF.
ENDLOOP.
Building hierarchy table ***************
LOOP AT it_final.
IF it_final-stufe = '0'.
node_tab-type = 'T'.
node_tab-name = 'Project'.
node_tab-tlevel = '01'.
node_tab-nlength = '8'.
node_tab-color = '4'.
node_tab-text = it_final-post1.
node_tab-tlength ='20'.
node_tab-tcolor = 5.
APPEND node_tab.
it_final_hsk-node = node_tab.
APPEND it_final_hsk. CLEAR it_final_hsk.
CLEAR node_tab.
ELSEIF it_final-stufe = '1'.
node_tab-type = 'P'.
node_tab-name = 'Project'.
node_tab-tlevel = '02'.
node_tab-nlength = '10'.
node_tab-color = '1'.
node_tab-kind2 = 'I'.
node_tab-text3+0(4) = it_final-t1.
node_tab-tlength3 = '5'.
node_tab-tcolor3 = 1.
node_tab-kind3 = ' '.
node_tab-text4 = it_final-posid.
node_tab-tlength4 ='20'.
node_tab-tcolor4 = 3.
Code added for plant name
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT'
EXPORTING
input = it_final-posid
IMPORTING
output = it_final-posid.
READ TABLE it_proj WITH KEY pspid = it_final-posid.
CHECK sy-subrc = 0.
READ TABLE it_t001w WITH KEY werks = it_proj-werks.
CHECK sy-subrc = 0.
Code End.
node_tab-kind4 = ' '.
node_tab-text5 = it_t001w-name1. " Plant Name
node_tab-tlength5 ='25'.
node_tab-tcolor5 = 4.
node_tab-kind5 = ' '.
node_tab-text6 = it_proj-stort.
node_tab-tlength6 ='15'.
node_tab-tcolor6 = 4.
node_tab-kind6 = ' '.
node_tab-text7 = it_final-post1.
node_tab-tlength7 ='25'.
node_tab-tcolor7 = 4.
APPEND node_tab.
it_final_hsk-node = node_tab.
APPEND it_final_hsk. CLEAR it_final.
CLEAR node_tab.
ELSEIF it_final-stufe = '2'.
node_tab-type = 'P'.
node_tab-name = 'Gate Id'.
node_tab-tlevel = '03'.
node_tab-nlength = '10'.
node_tab-color = '1'.
node_tab-kind2 = 'I'.
node_tab-text3+0(4) = it_final-t1.
node_tab-tlength3 = '5'.
node_tab-tcolor3 = 1.
node_tab-kind3 = ' '.
node_tab-text4 = it_final-posid.
node_tab-tlength4 ='20'.
node_tab-tcolor4 = 3.
node_tab-kind4 = ' '.
node_tab-text5 = it_final-post1.
node_tab-tlength5 ='25'.
node_tab-tcolor5 = 4.
APPEND node_tab.
it_final_hsk-node = node_tab.
APPEND it_final_hsk.
CLEAR it_final.
CLEAR node_tab.
ELSEIF it_final-stufe = '3' AND it_final-ltxa1 EQ space.
node_tab-type = 'P'.
node_tab-name = 'Component'.
node_tab-tlevel = '04'.
node_tab-nlength = '11'.
node_tab-color = '1'.
node_tab-kind2 = 'I'.
node_tab-text3+0(4) = it_final-t1.
node_tab-tlength3 = '5'.
node_tab-tcolor3 = 1.
node_tab-kind3 = ' '.
node_tab-text4 = it_final-posid.
node_tab-tlength4 ='25'.
node_tab-tcolor4 = 3.
node_tab-kind4 = ' '.
node_tab-text5 = it_final-post1.
node_tab-tlength5 ='25'.
node_tab-tcolor5 = 4.
Code added for start date and end date for component level.
SELECT SINGLE pstrm petrf INTO (v_pstrm, v_petrf)
FROM prte WHERE posnr = it_final-pspnr.
it_final-fsavd = v_pstrm.
it_final-fssad = v_petrf.
MODIFY it_final INDEX sy-tabix.
WRITE it_final-fsavd TO date_mask MM/DD/YYYY.
node_tab-tpos1 = '0'.
node_tab-kind5 = ' '.
node_tab-text6 = date_mask.
node_tab-tlength6 ='10'.
node_tab-tcolor6 = 3.
CLEAR date_mask.
WRITE it_final-fssad TO date_mask MM/DD/YYYY.
node_tab-tpos1 = '0'.
node_tab-kind6 = ' '.
node_tab-text7 = date_mask.
node_tab-tlength7 ='10'.
node_tab-tcolor7 = 3.
CLEAR date_mask.
APPEND node_tab.
it_final_hsk-node = node_tab.
APPEND it_final_hsk.
CLEAR it_final_hsk.
CLEAR node_tab.
ELSEIF it_final-ltxa1 IS NOT INITIAL.
node_tab-type = 'P'.
node_tab-name = 'Element'.
node_tab-tlevel = '05'.
node_tab-nlength = '11'.
node_tab-color = '1'.
node_tab-kind = 'I'.
node_tab-text1+0(4) = it_final-t1.
node_tab-tlength1 = '5'.
node_tab-tcolor1 = 1.
node_tab-kind2 = 'I'.
node_tab-text3+0(4) = it_final-t2.
node_tab-tlength3 = '5'.
node_tab-tcolor3 = 1.
node_tab-kind3 = ' '.
node_tab-text4 = it_final-ltxa1.
node_tab-tlength4 ='45'.
node_tab-tcolor4 = 3.
node_tab-kind4 = ' '.
node_tab-text5 = it_final-txt04.
node_tab-tlength5 ='10'.
node_tab-tcolor5 = 3.
WRITE it_final-fsavd TO date_mask .
node_tab-kind5 = ' '.
node_tab-text6 = date_mask.
node_tab-tlength6 ='10'.
node_tab-tcolor6 = 3.
CLEAR date_mask.
WRITE it_final-fssad TO date_mask.
node_tab-tpos1 = '0'.
node_tab-kind6 = ' '.
node_tab-text7 = date_mask.
node_tab-tlength7 ='10'.
node_tab-tcolor7 = 3.
CLEAR date_mask.
APPEND node_tab.
it_final_hsk-node = node_tab.
APPEND it_final_hsk.
CLEAR it_final_hsk.
CLEAR node_tab.
ENDIF.
ENDLOOP.
CALL FUNCTION 'RS_TREE_CONSTRUCT'
TABLES
nodetab = it_final_hsk.
CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
EXPORTING
callback_program = i_repid
callback_user_command = 'USER_COMMAND'
callback_gui_status = 'ZLD_TREE_N'
screen_start_column = 0
use_control = 'L'.
ENDFORM. " hierarchy
*& Form MYGUI
text
-->EX_TAB text
FORM zld_tree_n.
SET PF-STATUS 'ZLD_TREE_N'.
ENDFORM. "zld_tree.
**& Form user_command
Code for REFRESH button
FORM user_command TABLES node STRUCTURE seucomm
USING ucomm CHANGING exit
list_refresh.
CASE ucomm.
WHEN 'REFR' .
CLEAR it_final.
REFRESH it_final_hsk.
REFRESH it_final.
PERFORM getdata.
CLEAR it_final.
PERFORM hierarchy.
WHEN 'BACK1'.
LEAVE TO TRANSACTION 'ZCN41_N'.
ENDCASE.
ENDFORM. "user_command
include.....
*& Include ZDATA_DECLARE
*& Tables used for the report
TABLES: proj, prps, aufk, afvc, jest, tj30t, afvv, prte.
*& Type Pools used
TYPE-POOLS: slis, icon, fibs, stree.
*& Class & Data defination
CLASS DEFINATION
CLASS cl_gui_resources DEFINITION LOAD.
DATA DECLARATION
DATA: g_lights_name TYPE lvc_cifnm VALUE 'LIGHT',
pspid LIKE proj-pspid,
l_pos TYPE i VALUE 1,
gs_layout TYPE slis_layout_alv,
color TYPE zcn41_color_n-color.
DATA : cnt VALUE 'X'.
DATA : i_repid TYPE sy-repid.
DATA : t_node TYPE snodetext.
DATA : node_tab LIKE t_node OCCURS 0 WITH HEADER LINE.
DATA : gv_diff TYPE p, stort LIKE proj-stort.
CONSTANTS: st_formname_top_of_page TYPE slis_formname
VALUE 'TOP_OF_PAGE-ALV'.
*& Internal Table Declarations
DATA it_proj TYPE STANDARD TABLE OF proj WITH HEADER LINE.
DATA it_prps TYPE STANDARD TABLE OF prps WITH HEADER LINE.
DATA it_afvc TYPE STANDARD TABLE OF afvc WITH HEADER LINE.
DATA it_tj30t TYPE STANDARD TABLE OF tj30t WITH HEADER LINE.
DATA it_afvv TYPE STANDARD TABLE OF afvv WITH HEADER LINE.
DATA it_jcds TYPE STANDARD TABLE OF jcds WITH HEADER LINE.
DATA it_t001w TYPE STANDARD TABLE OF t001w WITH HEADER LINE.
DATA: BEGIN OF it_final OCCURS 0,
stufe LIKE prps-stufe,
pspnr LIKE prps-pspnr,
t1 TYPE icon-id,
t2 TYPE icon-id,
node LIKE node_tab,
posid LIKE prps-posid,
post1 LIKE prps-post1,
ltxa1 LIKE afvc-ltxa1,
txt04(20),
objnr LIKE afvc-objnr,
vornr LIKE afvc-vornr,
aufpl LIKE afvc-aufpl,
aplzl LIKE afvc-aplzl,
fsavd LIKE afvv-fsavd, "Ear. Start date
fssad LIKE afvv-fssad, "Ear. finish date
werks LIKE t001w-name1, " added after update
stort LIKE proj-stort, " added after update
END OF it_final.
DATA: BEGIN OF it_hsk OCCURS 0,
t2 TYPE icon-id,
t1 TYPE icon-id,
posid LIKE prps-posid,
post1 LIKE prps-post1,
objnr LIKE afvc-objnr,
stufe LIKE prps-stufe,
END OF it_hsk.
DATA: BEGIN OF it_new OCCURS 0,
objnr LIKE afvc-objnr,
fsavd LIKE afvv-fsavd,
fssad LIKE afvv-fssad,
udate LIKE jcds-udate,
t2(10),
END OF it_new.
CLEAR : node_tab, node_tab[].
DATA : entval TYPE prps-posid.
DATA : ct_fieldcat TYPE slis_t_fieldcat_alv.
DATA : BEGIN OF it_final_hsk OCCURS 0,
node LIKE node_tab,
END OF it_final_hsk.
DATA : project LIKE bapipr-project_definition,
e_project_definition LIKE bapi_project_definition_ex.
DATA : e_wbs_hierarchie_table TYPE STANDARD TABLE OF bapi_wbs_hierarchie
WITH HEADER LINE.
DATA : e_wbs LIKE e_wbs_hierarchie_table OCCURS 0 WITH HEADER LINE.
DATA: v_pstrm LIKE prte-pstrm, v_petrf LIKE prte-petrf,
v_posnr LIKE prps-pspnr.
*& Selection Screen of the report
SELECTION-SCREEN BEGIN OF BLOCK pms WITH FRAME TITLE text-001.
SELECT-OPTIONS so_posid FOR proj-pspid OBLIGATORY.
SELECT-OPTIONS so_plant FOR proj-werks.
SELECT-OPTIONS so_loc FOR proj-stort.
SELECT-OPTIONS so_date FOR sy-datum.
SELECTION-SCREEN END OF BLOCK pms.
*AT SELECTION-SCREEN .
READ TABLE it_proj WITH KEY pspid = so_posid.
IF sy-subrc <> 0.
MESSAGE 'Project Name dose not exist' TYPE 'E.
ENDIF.
include..
*& Include ZSUBR
*& Form date_difference
text
--> p1 text
<-- p2 text
FORM date_difference .
CALL FUNCTION 'ZDATETIME_DIFFERENCE_N'
EXPORTING
date1 = it_final-fsavd
time1 = '000000'
date2 = it_final-fssad
time2 = '000000'
IMPORTING
datediff = gv_diff
EXCEPTIONS
INVALID_DATETIME = 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.
ENDFORM. " date_difference
*& Form date_monitor
text
--> p1 text
<-- p2 text
T1 for more than 1 days activities
Subroutines result out the T1 on basis of 80% of activity ( Green )
or if 20 % reamined. ( Yellow )
FORM date_monitor .
DATA: date TYPE string,
temp_date TYPE string,
lv_date LIKE afvv-fsavd,
lv_date_final LIKE afvv-fsavd,
lv_days LIKE bseg-dtws1 VALUE 0.
CONSTANTS: con TYPE f VALUE '0.8'.
*lv_date = it_new-fsavd.
IF gv_diff EQ 2.
lv_days = 1.
CALL FUNCTION 'ZCALC_DATE_N'
EXPORTING
date = it_final-fsavd
days = lv_days
months = '00'
sign = '+'
years = '00'
IMPORTING
calc_date = lv_date_final.
IF sy-datum LE lv_date_final.
it_final-t1 = '@08@'.
ELSEIF sy-datum GT lv_date_final AND
sy-datum EQ it_final-fssad.
it_final-t1 = '@09@'.
ENDIF.
ELSEIF gv_diff > 2.
lv_days = con * gv_diff.
CALL FUNCTION 'ZCALC_DATE_N'
EXPORTING
date = lv_date
days = lv_days
months = '00'
sign = '+'
years = '00'
IMPORTING
calc_date = lv_date_final.
IF sy-datum LE lv_date_final.
it_final-t1 = '@08@'.
ELSEIF sy-datum GT lv_date_final AND
sy-datum EQ it_final-fssad.
it_final-t1 = '@09@'.
ENDIF.
ENDIF.
ENDFORM. " date_monitor
this code will give you exact out put as you required from bootom to top functinality....with status.... -
How to find out System Status of WBS Elements?
Hi PS Experts!
Please help me on my query.
I want to get a list of WBS elements whose status is Released and can be used.
If I try to search the table PRPS, it can only help me in finding WBS elements without deletion flag, with RA Key and so on.
But the System status (such as Blocked for use) etc. is not present in the table.
The one way I know is to get Object Number of WBS element from PRPS Table and insert it in JEST Table to get system status.
Or alternatively, I give the WBS element no. in CJ20N t-code, and then check for System Status.
These 2 methods work, if I do it one WBS Element at a time. If I need to get thousands of WBS elements in such a fashion, it's tedious.
So could anyone help me on this issue?
Thanks in advance,
Vinitha.Hi Bala
Yes, you have put it rather correctly.
We use WBS elements for booking and posting time (client requirement). So what I am looking for is WBS Elements with the system status TERL (Time and Expense Released).
I talked of the deletion flag also, because a WBS element flagged for deletion can't be used. It's one of the criteria to screen the WBS elements.
I hope it's clearer now.
Vinitha. -
Issue in BAPI_PS_PRECOMMIT in mass creation of WBS Elements
Hi,
I am facing a issue with BAPI_PS_PRECOMMIT.
we have the following WBS Hierarchy:
S - Proj, (level1)
S-XXX WBS Element (level2)
S-XXX-001 WBS Element (level3)
I have created a program for mass creation of WBS elements creation
which uses the following BAPI's
BAPI_PS_INITIALIZATION
BAPI_BUS2054_CREATE_MULTI
BAPI_PS_PRECOMMIT
BAPI_TRANSACTION_COMMIT
The proj: 'S' and the level2 WBS element: 'S-XXX' already exist in the system.
When I run the program for delta load, so as to create the following level3 WBS elements:
S-XXX-001
S-XXX-002
S-XXX-003
The system is throwing the following errors at the BAPI_PS_PRECOMMIT:
1. Final Check of the project definition and WBS elements: Error
2. Validation unsuccessful
Pls help me on this.
Thanks,
DeepakCheck the WBS elements doesn't exist already in your system.
Here is what I coded some days back for deletion of Network Activities, most of the things are same.
You are doing for WBS element.
* Call to initialization BAPI Before Delete
CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
* Call to Network Activity Deletion BAPI
CALL FUNCTION 'BAPI_BUS2002_ACT_DELETE_MULTI'
EXPORTING
i_number = t_bapi_activity-network
TABLES
it_delete_activity = l_t_del_vornr
et_return = l_t_bapiret2.
DELETE l_t_bapiret2 WHERE type <> 'E'.
READ TABLE l_t_bapiret2 INDEX 1.
IF sy-subrc EQ 0. "If error in Deletion
MOVE: f_idoc_contrl-docnum TO t_idoc_status-docnum,
l_t_bapiret2-type TO t_idoc_status-msgty,
'CNIF_PI' TO t_idoc_status-msgid,
l_t_bapiret2-number TO t_idoc_status-msgno,
l_t_bapiret2-message TO t_idoc_status-msgv1.
MOVE c_idoc_status_error TO t_idoc_status-status.
APPEND t_idoc_status.
ROLLBACK WORK.
EXIT.
ELSE. "If Delete is successful COMMIT
* Call to PreCOMMIT BAPI
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
TABLES
ET_RETURN = l_t_bapiret3.
* Call COMMIT BAPI
* CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
The other solution is use BAPI_PROJECT_MAINTAIN. -
How to Control authorization for users with certain status for level 2 WBS Element
Dear All,
Is there any standard way or enhancement available to control authorization for users with certain status for WBS Element i.e. for example
Pre-requisite:
There is only 2 level of project i.e.
Lev_ WBSE_______Description
1___ 7-14.E_______summay outage controller
2___ 7-14.E.2310__ Plant/unit # 2310
2___ 7-14.E.2310__ Plant/unit # 2220
Project Controller (authorization role assigned "Z_PS_OP7_OTGCON_C") have all project level authorization
Plant/Unit Controller (authorization role assigned "Z_PS_OP7_PLNTOTG_C_2310") have only level 2 authorization with enhancement that we did in system by Z table.
User ID_ Plant #
123345_ 2310
122455_ 2220
Issue:
After System Status released and User Status approved the WBS basic date for Plant/Units should be restricted from updating/changing by Plant/Unit Controller level and only project controller should have this authority.
Solution required:
Can any one tell how to control this scenario either by standard or enhancement available to control authorization
BR
Saqib UsmanHi,
Did you explore SAP Enhancement CNEX0002 Using Transaction CMOD?
Thank you and regards,
Varshal Kachole
The SCN Rules of Engagement -
Hi All,
I have configured WBS User status with one user status as LFI - Locked for Financial posting.
For this user status following buiness transactions are forbiddesn:
Create billing document --> Forbidden
Create sales document --> Forbidden
I have tested one scenario as :
I have created one sales order on WBS Element not having LFI User status and then I have activated LFI user status for that WBS Element. Now when I try to create billing document for sales order created earlier -- whther system shoul allow me or not?
- Swapnil KharulLFI User status has following Business Transaction control as forbidden:
Acct. assignment order/project
Actual activity allocation
Assignment order/WBS
Create billing document
Create sales document
FI: Postings
Funds commitment
Goods Movement
Goods issue delivery
Goods receipt for purch. order
Incoming invoice
Manual cost allocation
Material purchase order
Material purchase requisition
Post goods issue
Schedule order
Hi Srini,
Thanks a lot for your help in this matter.
My test results are - system is allowing to create billing document but FI document not got posted.
Also in my sales order used WBS Element is billing element. I know about substitution rule for determination of higer level billing element.
Please suggest. -
Unable to close the WBS element because of inventory issue
Hello
We are facing one issue where we are trying to close one WBS element but getting error that stock still exsists.
When i checked in table MSPR i found that for one of the material in the WBS element the physical inventory process is still not complete
Physical Inventory Blocking Indicator ,Indicator that specifies that the stock is blocked for a physical inventory has value A(Physical inventory not yet completed for amterial) in that table for one of the materials.
KIndly advice how to complete the proces and close the WBS.Dear,
Check the links:
Physical inventory block in material master
Re: Physical Inventory & Goods movement process
Cycle count not counting correct number of items
Regards,
Syed Hussain. -
Issue on distribution of quantity to WBS elements in invoice
Hi SAP Gurus,
I have an issue with the distribution of quantity to WBS elemements in SAP.
There is a purchase order with 6 line items. For the first line item a quantity of 3 is ordered and the same quantity of 3 is assigned to 7 WBS elements in the account assignment tab. There were 3 invoices created for this line item. For a particular WBS element a quantity of 1.050 was assigned and when we drilled down through the 3 invoices we found only a quantity of 1.028 is assigned to this Particular WBS element. Can someone please tell me as to why this mismatch has happened.
Thanks in advanceHi Raman,
I am sorry but this is not the case . There are 7 WBS elements used for this PO. The quantity is distributed to 7 wbs elements as follows.
Percentage Quantity
1st WBS element- 8.7 0.261
2nd WBS element 17.4 0.522
3rd WBS element 18.2 0.546
4th WBS element 8.8 0.264
5th WBS element 6.4 0.192
6th WBS element 5.5 0.165
7th WBS element 35 1.050
This is the assigned structure in the PO for all the 7 WBS elements. But when you look into the 3 invoices a quantity of 1.028 has been distributed to 7th WBS element and a quantity of 0.214 has been assigned to 5th WBS element which is causing the mismatch
Also in the 2nd and 3rd invoices only 6 wbs elements are used. Can you please tell me as to why there is a WBS element missing in the 2nd and 3rd invoices if the splitting is happening automatically.
Regards,
Dwarik -
Issue with order or sequence of wbs elements appearance in planning layout
Hi Experts
we have an issue with order or sequence of wbs elements appearance in BPS planning layout.
In BW - 0wbs element - hierarchy order is as below
1
2
3
4
5
6
7
8
but when we check the same wbs element in BPS planning layout, it appears as below
1
2
3
4
6
7
5
8
Request you to advice how to correct the order.
Best Regards
krishnaHi,
I came across a similar situation once. I dont remember exactly.
We have two different DataSources on wbs hierarchy. The hiearchy was loaded using the two datasources.
By mistake we were trying to use the hierarchy created by Datasource2, instead of hier created by datasource1.
Can you check that. -
Cannot change Status of WBS Elements
Hi Guys,
I am trying to change the status of a WBS element. When i try to change the status of the WBS element, I get the message that " THere are still open down payments for the WBS ". What does this actually mean??
I found the downpayment GL and looked for the open items. In the open items i was able to find a line item to which this WBS is attached. Then i tried to go to the document, in which this line item exists. Now in order to clear the open line item with the WBS, how should i clear that line item?? I want to know how to clear the down payment for this WBS or the found out line item.
Thanks.
Kris..Hi,
Run the report S_ALR_87013536 - Plan/Actual/Down Payment as Expense for the particular WBSE that was showing in the error. Here you would see the value of down payment against the WBSE.
Run FBL3N for the down payment G\L by selecting the WBSE from dynamic selection. Here you can get the open line items with WBSE and relavent PO.
For clearing the down payment discuss with your concern MM and FI dept.
Hope this could help you.
Regards,
Nag.
Maybe you are looking for
-
Dear Experts, I am helping my brother out with a site he uses for his company. It seems to be made with GoLive. Anyway, the site was a huge mess, so I tried to tidy it up with CSS etc. Now it is much more orderly, and everything was looking fine last
-
Returns of a substituted Material
Hi SAP Gurus I have a bit of a problem. We have set up material substitution rules that says if customers order Part A substitute with Part B. Because with have g ATP this comes as a subitem. Now my problem is that when I try and create Returns order
-
Remove Acrobat 6.0 and 7.0
Please help me find complete instructions to remove Acrobat 6.0 and 7.0. They do not appear in add remove programs. I now have Reader 8.0. Thanks Frank C Win XP SP 3 Dell Dimension 8400
-
Eligibility Profiles: Derived Factors
Hello We are trying to setup a benefits eligibility profile that uses a Length of Service derived factor. So we went and defined the derived factor before using it in the eligibility profile. On the Derived Factors form, we are using "Date of Hire" a
-
945P internal USB port problem
Power exceeded on USB Port 945P motherboard - NO DEVICES CONNECTED Part Number: MSI 945P Platinum Socket 775 CPU: Intel Pentium 4 640, 3.2 GHz Memory: Corsair 512MBx2 PC4300 DDR2 533MHz Operating System: XP Pro On the motherboard, I have added more e