Validate profit center in complete Project Structure
Hi PS gurus,
I want to validate profit center in (complete Project Structure) Project definition, WBS elements, N/W Header and N/W Activities.
Presently in the WBS Element there is a possibility to check (Project definition and WBS elements)
PROJ-PRCTR = PRPS-PRCTR
However I couldnt able extend the same to N/W Header and N/W Activities (as shown below)
PROJ-PRCTR = PRPS-PRCTR
AND
ACT01-PRCTR = PROJ-PRCTR
AND
AUFK-PRCTR = PROJ-PRCTR
Also there is a validation for checking the Consistency Check Project Structure here I can able make the above customization. But I dont know how to activate this (this cannot be used in Project Profile OR in Network Profile)
So pls. through some light on this and suggestions will be rewarded.
Regards,
Harisha
Hi,
The validation rules customised to the project defination & the WBS elements can be activated in the project profile by entering the name of the rule & checking the auto validation button.. similarly the rules for the network and network activities has to be maintained in the network profile & this network profile needs to got assigned to the project profile.
Hope this helps you.
Regards,
Pradeep
Similar Messages
-
Validate Profit Center before saving PO
Hello.
Does anyone knows if possible avoid some entries in profit center field? Some buyers creates a few purchase order using a Dummy Profit Center, and this is not correct.
I wondering if there any way to avoid it, and donu2019t let buyers create purchase orders with profit center dummy.
I appreciate your help.
Regards,
HectorHi,
There is no standard functionality available for this you may have to use user exit or BADI to put the validation while saving PO
BADI ME_PROCESS_PO_CUST can be used
Please also check from CO side if you can block that profit center with validity termination
Thanks
Diwakar -
Substitution of Profit center across project structure.
Dear All,
Requirement: Need to substitute profit center entered at Project definition level (at all times) to all project elements (WBS elements, N/W header and Activities). Also I need to validate this complete structure for the profit center inconsistency.
Problem: I have created Substitution rules, which will substitute across all the project objects (only when a new project is created). But if you change the profit center afterwards, it will change only at WBS elements level, however profit center at N/W and Activities will be substituted only when you make some changes to them. To avoid this I have created a validation, which will check across the complete structure.
Now after changing the profit center using CNMASS for all the objects, even though in physical you can find the new value at N/W header, however while saving it will validate and finds only the oldvalue and hence throws an error.
Can anyone throw some light on this?
With regards,
HarishaHi Martina,
My problem in detail:
I am creating a new project structure XXXX (having WBS elements, N/W and Activities) with initial profit center as AA. 1st time while saving the project, profit center AA will be substituted to all objects (I have maintained substitution rules at all objects)
Now again I will reopen the same project XXXX and I will change the profit center of project XXXX to BB (in the project definition level). With this due to automatic substitution only the profit center at WBS elements will be changed to BB. But not at N/W header and Activities (till you make some changes to N/W or Activity the profit center will be AA only, afterwards if you make any changes to N/W and Activities profitcenter will changes to BB). To avoid this difference I have created a validation rule, which will check the inconsistency of profit center all along the structure.
Now I am using mass change functionality to change the profit center in onego at all the objects. After making the masschange the profit center at all objects will become BB (but still not saved), however while saving the system validates the profit center and found still N/W and Activities having AA only (in database), so it wont allow us to save.
If you require further information please ask me again.
With regards,
Harisha -
Project with profit center was not created for entire period
Hi everybody,
I need a help with a problem here.
The alert mesage "project with profit center was not created for entire period" was displayed.
Then I searched for the creation dates and the profit center was created before the project gets its firsts postings. Therefore, some line itens don't exist in profit center (ledgers).
My two questions:
The first one, is it possible to input line itens in a retroactive way?
Everytime I need to use the project master data this alert is displayed. How can I fix avoid this message?
Thanks,Hi,
Regarding your issue, it is theoretically possible to reverse all settlements up to the start of the project and then to settle again it
is a must to check in standard if the profit center is valid from the project start date onwards.
Check the attached note 1048945.
The system generates error message KM700 ('Profit center <PRCTR> does not exist for <date>') when you enter a profit center on a project definition if the profit center is not valid in the entire period between the basic start and the basic finish date of the project definition . However, only one warning message should only be generated in this case.
regards
Waman -
Different profit center in Project definiton and WBS
Hi,
Our client facing a problem for closing the project due to different profit center. In Project definition the assigned on profit center and WBS they assigned another different profit center . There is not data posted or planed .
SAP won't allow me to change the Profit Center because it says the project is released.
Now they try to close the project but it showing error like different profit center in project definition and wbs.
Could you please anybody help to solve this issue?
Thanks.
V.KFrom the error message It seems there is a validation using Field exit. Ask your abaper to debug. Then would be able to know the logic behind it.
Venkat -
PR no with project and profit center
Hello every one is there any report which can give me Project No. Profit center of that project and PR created on those projects.
Regards
Abhishek Sinha
IdhasoftHi,
You can get it through tcode ME5J (PR for Project)
now you want report for particular profit center that you can get it by using dynamic selection function for that report
enter ME5J
enter project
click on dynamic selection buttuon which is nr to execute buttuon
clcik on org. units definition folder
double click on profit center, dynamic selection window will pop up... enter required profit center
execute
you will get report as per yr requirement.
Regards,
Sandeep -
Calculation of customer payment performance by profit center
I want to calculate customer payment performance by profit center it is a report.
Caluation clue.
<b>Performance is a measure of when the payment was made versus the due date calculated by the payment terms</b>.
i want the logic to be included in the following code.
REPORT
TABLE DECLARATIONS
TABLES: BFOD_A, "FI subsequent BA/PC adjustment: Customer items
BSID, "Open Items
BSAD, "Cleared Items
BKPF, "Docuemnt Header
KNA1, "Customer Master
CEPCT, "Texts for Profit Center Master Data
CEPC, "Profit center master data table
SKB1, "G/L account master
VBFA, "Sales Document Flow
VBAK. "Sales Document: Header Data
CONTROLS: TABAGING TYPE TABLEVIEW USING SCREEN 9000.
FIELD-SYMBOLS: <COLUMN>.
Internal tables followed by types
TYPES: BEGIN OF T_TOTAL,
WAERS LIKE COEP-TWAER,
DAYS01 LIKE COEP-WTGBTR,
DAYS02 LIKE COEP-WTGBTR,
DAYS03 LIKE COEP-WTGBTR,
DAYS04 LIKE COEP-WTGBTR,
DAYS05 LIKE COEP-WTGBTR,
TOTAL LIKE COEP-WTGBTR,
END OF T_TOTAL.
DATA: V_DISVARIANT TYPE DISVARIANT,
REF_CUSTOM TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
REF_ALV_ZRPT TYPE REF TO CL_GUI_ALV_GRID.
DATA: V_SAVE(1) TYPE C,
V_DEFAULT(1) TYPE C,
V_VARIANT TYPE DISVARIANT,
V_SORT TYPE LVC_S_SORT,
V_LAYOUT TYPE LVC_S_LAYO,
V_SAVE_TABIX LIKE SY-TABIX,
V_SAVE_TIME LIKE SY-UZEIT,
V_ALV_FIELDCAT TYPE LVC_S_FCAT,
V_SAVE_INDEX LIKE SY-TABIX,
V_ROW TYPE LVC_S_ROW,
V_ROWS TYPE LINE OF LVC_T_ROW.
DATA: BEGIN OF V_HDR,
CURKY(9) TYPE C,
CURR(20) TYPE C,
COL1(20) TYPE C,
COL2(20) TYPE C,
COL3(20) TYPE C,
COL4(20) TYPE C,
TOTAL(20) TYPE C,
END OF V_HDR.
DATA: BEGIN OF V_FIELD,
NAME(15) TYPE C,
VALUE(17) TYPE C,
END OF V_FIELD.
DATA: BEGIN OF I_BFOD_A OCCURS 0,
PRCTR LIKE BFOD_A-PRCTR,
KUNNR LIKE BFOD_A-KUNNR,
BUKRS LIKE BFOD_A-BUKRS,
GJAHR LIKE BFOD_A-GJAHR,
BELNR LIKE BFOD_A-BELNR,
BUZEI LIKE BFOD_A-BUZEI,
AUGDT LIKE BFOD_A-AUGDT,
HKONT LIKE BFOD_A-HKONT,
BUDAT LIKE BFOD_A-BUDAT,
SHKZG LIKE BFOD_A-SHKZG,
DMBTR LIKE BFOD_A-DMBTR,
DMBE2 LIKE BFOD_A-DMBE2,
END OF I_BFOD_A.
DATA: I_SET_VALUES LIKE SETVALUES OCCURS 0 WITH HEADER LINE,
I_SORT TYPE LVC_T_SORT,
I_ALV_FIELDCAT TYPE LVC_T_FCAT,
I_PRCTR_COCD TYPE FCINPCA001 OCCURS 0 WITH HEADER LINE,
I_BFODA_KUNNR LIKE I_BFOD_A OCCURS 0 WITH HEADER LINE,
Begin of changes for DEVK909110
I_REPORT TYPE ZFR0ARPR_S1 OCCURS 0 WITH HEADER LINE,
I_REPORT TYPE ZPSS_ARBYPC OCCURS 0 WITH HEADER LINE,
End of changes for DEVK909110
I_FAEDE LIKE FAEDE,
I_TOTAL TYPE T_TOTAL OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF I_BKPF OCCURS 0,
BUKRS LIKE BKPF-BUKRS,
BELNR LIKE BKPF-BELNR,
GJAHR LIKE BKPF-GJAHR,
BKTXT LIKE BKPF-BKTXT,
XBLNR LIKE BKPF-XBLNR,
HWAER LIKE BKPF-HWAER,
HWAE2 LIKE BKPF-HWAE2,
END OF I_BKPF.
*... combine BSAD and BSID
DATA: BEGIN OF I_BSYD OCCURS 0,
KUNNR LIKE BSID-KUNNR,
BUKRS LIKE BSID-BUKRS,
GJAHR LIKE BSID-GJAHR,
BELNR LIKE BSID-BELNR,
BUZEI LIKE BSID-BUZEI,
AUGDT LIKE BSID-AUGDT,
BLDAT LIKE BSID-BLDAT,
BUDAT LIKE BSID-BUDAT,
HKONT LIKE BSID-HKONT,
WAERS LIKE BSID-WAERS,
ZFBDT LIKE BSID-ZFBDT,
ZBD1T LIKE BSID-ZBD1T,
ZBD2T LIKE BSID-ZBD2T,
ZBD3T LIKE BSID-ZBD3T,
XBLNR LIKE BSID-XBLNR,
REBZG LIKE BSID-REBZG,
SHKZG LIKE BSID-SHKZG,
DMBTR LIKE BSID-DMBTR,
WRBTR LIKE BSID-WRBTR,
END OF I_BSYD.
DATA: BEGIN OF I_CEPC OCCURS 0,
PRCTR LIKE CEPC-PRCTR,
KHINR LIKE CEPC-KHINR,
END OF I_CEPC.
DATA: BEGIN OF I_CEPCT OCCURS 0,
PRCTR LIKE CEPCT-PRCTR,
MCTXT LIKE CEPCT-MCTXT,
END OF I_CEPCT.
DATA: BEGIN OF I_PRCTR OCCURS 0,
PRCTR LIKE BFOD_A-PRCTR,
END OF I_PRCTR.
DATA: BEGIN OF I_KNA1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF I_KNA1.
Working Variables Declarations
*... accumulators
DATA: V_BFOD_TXNAMT LIKE BSID-WRBTR, "transaction currency amt
V_FRCURR LIKE TCURR-FCURR, "local currency
V_TOCURR LIKE TCURR-FCURR, "local currency
V_LCURR LIKE T001-WAERS, "local currency
V_CUSTTOTUSD LIKE BFOD_A-DMBE2, "customer total grp curr
V_TOTAL LIKE BPPE-WTP03, "days total grp curr
V_CURRENT LIKE BPPE-WTP03, "days current grp curr
V_TOTAL_USD LIKE BPPE-WTP03, "days total grp curr
V_TOTAL_ROW LIKE BPPE-WTP03. "total of local curr/row
DATA: V_PRCTR LIKE CEPC-PRCTR, "profit center
V_SUBRC LIKE SY-SUBRC,
V_FLAG TYPE I,
V_DPAST TYPE I, "past due days working
V_GRAND TYPE C,
V_DIFF_COLOR TYPE C,
V_MSG(50) TYPE C,
V_SAVE_PCFN(128) TYPE C,
V_EXTENSION(4) TYPE C,
V_PREV_PRCTR LIKE CEPC-PRCTR,
V_POS LIKE SY-FDPOS,
V_SAVE_BUKRS LIKE BFOD_A-BUKRS,
V_SAVE_KHINR LIKE CEPC-KHINR,
V_PERC TYPE P DECIMALS 10,
V_ZBD1T LIKE BSID-ZBD1T,
V_ZFBDT LIKE BSID-ZFBDT,
V_GROUP_CLASS LIKE RGSBS-CLASS,
V_GROUP_NAME LIKE RGSBS-SETNR,
V_GROUP_TITLE LIKE RGSBS-TITLE,
V_SETID LIKE SETHIER-SETID,
V_FILETYPE LIKE RLGRAP-FILETYPE VALUE 'DAT',
V_CNT LIKE SY-TABIX,
V_PREV_BELNR LIKE BSID-BELNR,
V_REPORT1 LIKE I_REPORT,
V_REPORT LIKE I_REPORT,
V_TABIX LIKE SY-TABIX.
Constants
CONSTANTS:
C_0H(2) TYPE C VALUE '0H',
C_0106(4) TYPE C VALUE '0106',
C_SPACE(11) TYPE C VALUE ' ',
C_USD(3) TYPE C VALUE 'USD',
C_KBRC LIKE CEPC-KOKRS VALUE 'KBRC',
C_TXT(4) TYPE C VALUE '.txt',
C_XLS(4) TYPE C VALUE '.xls',
C_RTF(4) TYPE C VALUE '.rtf',
C_PERIOD(1) TYPE C VALUE '.',
C_TODATE LIKE CEPC-DATBI VALUE '99991231'.
RANGES: R_KUNNR FOR KNA1-KUNNR. "Customer
Selection Screen Parameters and Select-options
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_KHINR LIKE CEPC-KHINR.
SELECT-OPTIONS: S_PRCTR FOR CEPC-PRCTR,
S_KUNNR FOR KNA1-KUNNR,
S_BUKRS FOR BKPF-BUKRS,
S_HKONT FOR SKB1-SAKNR.
PARAMETERS: P_BUDAT LIKE BFOD_A-BUDAT OBLIGATORY.
SELECTION-SCREEN ULINE.
SELECT-OPTIONS: S_BELNR FOR BFOD_A-BELNR,
S_AUART FOR VBAK-AUART,
S_VTWEG FOR VBAK-VTWEG,
S_VBTYP FOR VBFA-VBTYP_V.
SELECTION-SCREEN ULINE.
PARAMETERS: P_AGEDY TYPE ZZAGEMULT DEFAULT '30' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
PARAMETERS: P_DSVAR LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B2.
class lcl_event_receiver: local class to handle event DOUBLE_CLICK
Definition:
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
MTH_PRINT_TOP_OF_PAGE
FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID.
METHODS:
MTH_PRINT_TOP_OF_LIST
FOR EVENT PRINT_TOP_OF_LIST OF CL_GUI_ALV_GRID.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
class lcl_event_receiver: local class to handle event DOUBLE_CLICK
Implementation:
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD MTH_PRINT_TOP_OF_PAGE.
CALL FUNCTION 'Z_CA_STD_HEADER'
EXPORTING
HEADING = SY-TITLE
P_REPID = SY-CPROG
LINE_WIDTH = SY-LINSZ.
ENDMETHOD. "MTH_PRINT_TOP_OF_PAGE
METHOD MTH_PRINT_TOP_OF_LIST.
CALL FUNCTION 'Z_CA_STD_HEADER'
EXPORTING
HEADING = SY-TITLE
P_REPID = SY-CPROG
LINE_WIDTH = SY-LINSZ.
CALL FUNCTION 'Z_CA_PRINT_SELECTION_OPTIONS'
EXPORTING
P_PGMN = SY-CPROG
P_SKIP = 'X'
P_NOTOP = 'X'.
NEW-PAGE.
ENDMETHOD. "MTH_PRINT_TOP_OF_LIST
ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION
DATA: REF_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
Selection Screen Prompt values
At Selection Screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DSVAR.
DATA: LS_DISPLAY_VARIANT TYPE DISVARIANT.
Get the display variant
V_DISVARIANT-REPORT = SY-CPROG.
V_DISVARIANT-VARIANT = P_DSVAR.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = V_DISVARIANT
I_SAVE = 'A'
IMPORTING
ES_VARIANT = LS_DISPLAY_VARIANT
EXCEPTIONS
OTHERS = 3.
Load results to parameter
IF SY-SUBRC = 0 AND NOT LS_DISPLAY_VARIANT IS INITIAL.
P_DSVAR = LS_DISPLAY_VARIANT-VARIANT.
ENDIF.
*...performed when looking for values in fields
performs the drop down selection list
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KHINR. "Profit center grp
PERFORM F_GET_S_KHINR.
Selection Screen validations
AT SELECTION-SCREEN.
IF P_KHINR IS INITIAL.
IF S_PRCTR[] IS INITIAL.
IF S_BUKRS[] IS INITIAL.
MESSAGE E000 WITH TEXT-300 TEXT-302.
ENDIF.
ENDIF.
ELSE.
IF S_PRCTR[] IS INITIAL.
PERFORM F_VALIDATE_KHINR.
ELSE.
*.. Error msg: Please enter either a Profit Center Group or a
profit center, but not both
MESSAGE E000 WITH TEXT-300 TEXT-301.
EXIT.
ENDIF.
ENDIF.
IF NOT S_AUART[] IS INITIAL.
MESSAGE E000 WITH TEXT-303.
ENDIF.
IF NOT S_VTWEG[] IS INITIAL.
MESSAGE E000 WITH TEXT-304.
ENDIF.
Event AT LINE-SELECTION
AT LINE-SELECTION.
CHECK SY-LSIND LE 1.
CHECK NOT I_REPORT-BELNR IS INITIAL.
SET PARAMETER ID 'BLN' FIELD I_REPORT-BELNR.
SET PARAMETER ID 'BUK' FIELD I_REPORT-BUKRS.
SET PARAMETER ID 'GJR' FIELD I_REPORT-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
CLEAR: I_REPORT-BELNR, I_REPORT-BUKRS, I_REPORT-GJAHR.
INITIALIZATION
INITIALIZATION.
START OF MAIN PROCESSING
START-OF-SELECTION.
Check aging days multiplier
IF P_AGEDY LE 0.
MESSAGE S000 WITH 'Aging Days Multiplier must be greater than zero'.
EXIT.
ENDIF.
Populate the s_prctr from a profit center group
IF NOT I_SET_VALUES[] IS INITIAL.
PERFORM F_POPULATE_PRCTR_FROM_PRCTRGRP.
ENDIF.
Build and validate prctr against cepc table
IF NOT S_PRCTR[] IS INITIAL.
PERFORM F_BUILD_I_CEPC_TABLE. "FILLS THE VALID PROFIT CTR TABLE
ENDIF.
Get base selections
PERFORM F_SELECT_DATA. "BUILD REF INTERNAL TABLES
Get additional fields and build reporting structure
PERFORM F_BUILD_I_REPORT. "BUILDS INTERNAL REPORTING TABLE
Generate ALV report
PERFORM F_WRITE_REPORT. "WRITES i_report AND RUNS CALCS
END-OF-SELECTION.
FREE: I_BFOD_A, I_KNA1, I_CEPC, I_CEPCT, I_REPORT.
Form F_DIS_MSG
FORM F_DIS_MSG USING VALUE(P_PERCENTAGE) VALUE(P_TEXT).
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = P_PERCENTAGE
TEXT = P_TEXT
EXCEPTIONS
OTHERS = 1.
ENDFORM. " F_DIS_MSG
Form F_GET_S_KHINR
Get prompt values for Profit Center Group
FORM F_GET_S_KHINR.
PERFORM F_DIS_MSG USING 100 'Get prompt values for Profit Ctr Group.'.
COMMIT WORK.
CALL FUNCTION 'K_GROUP_SELECT'
EXPORTING
BUTTONS = 'X'
CLASS = '0H '
CRUSER = '*'
FIELD_NAME = 'RPRCTR'
SEARCHFLD = 'KBRC'
SEARCHFLD_INPUT = ' '
SEARCHFLD_REQUIRED = 'X'
SET = '*'
START_COLUMN = 10
START_ROW = 5
TABLE = 'GLPCT'
TYPELIST = 'BS'
UPDUSER = '*'
IMPORTING
CLASS_NAME = V_GROUP_CLASS
SET_NAME = V_GROUP_NAME
SET_TITLE = V_GROUP_TITLE
EXCEPTIONS
NO_SET_PICKED = 1
OTHERS = 2.
IF SY-SUBRC = 0.
P_KHINR = V_GROUP_NAME.
ENDIF.
ENDFORM. " F_GET_S_KHINR
FORM F_VALIDATE_KHINR *
FORM F_VALIDATE_KHINR.
PERFORM F_DIS_MSG USING 100 'Validate Profit Center group.'.
COMMIT WORK.
CLEAR I_SET_VALUES.
REFRESH I_SET_VALUES.
CONCATENATE C_0106 C_KBRC P_KHINR INTO V_SETID.
CONDENSE V_SETID.
CALL FUNCTION 'G_SET_TREE_IMPORT'
EXPORTING
CLIENT = SY-MANDT
FIELDNAME = 'RPRCTR'
LANGU = SY-LANGU
SETID = V_SETID
TABNAME = 'GLPCT'
NO_TABLE_BUFFERING = 'X'
TABLES
SET_VALUES = I_SET_VALUES
EXCEPTIONS
SET_NOT_FOUND = 1
ILLEGAL_FIELD_REPLACEMENT = 2
ILLEGAL_TABLE_REPLACEMENT = 3
OTHERS = 4.
IF SY-SUBRC NE 0.
E: Unable to find Profit Center Group & - please modify selection
MESSAGE E000 WITH TEXT-002 P_KHINR.
ENDIF.
IF I_SET_VALUES[] IS INITIAL.
MESSAGE E000 WITH P_KHINR TEXT-039.
ENDIF.
ENDFORM. " F_VALIDATE_KHINR
Form F_SELECT_DATA
FORM F_SELECT_DATA.
PERFORM F_DIS_MSG USING 100 'Retrieve info from SAP tables.'.
COMMIT WORK.
Build the BFOD_A internal table based on user selections
f i_cepc table is initial, it means derive all prctr under a co cd
IF S_PRCTR[] IS INITIAL.
PERFORM F_RETRIEVE_BFODA_BY_COMPANY.
ELSE.
PERFORM F_RETRIEVE_BFODA_BY_PRCTR.
ENDIF.
IF I_BFOD_A[] IS INITIAL.
*... No records fit selection criteria.
MESSAGE E000 WITH TEXT-H20.
ENDIF.
Get the text for profit center
SELECT SPRAS PRCTR DATBI KOKRS MCTXT FROM CEPCT
INTO CORRESPONDING FIELDS OF TABLE I_CEPCT
FOR ALL ENTRIES IN I_CEPC
WHERE SPRAS = SY-LANGU
AND PRCTR = I_CEPC-PRCTR.
Build an internal table of unique bfod keys for bsid and bsad
I_BFODA_KUNNR[] = I_BFOD_A[].
SORT I_BFODA_KUNNR BY KUNNR BUKRS GJAHR BELNR BUZEI.
DELETE ADJACENT DUPLICATES FROM I_BFODA_KUNNR COMPARING
KUNNR BUKRS GJAHR BELNR BUZEI.
Build BSID Internal table
SELECT MANDT BUKRS KUNNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR
BUZEI BUDAT HKONT BLDAT WAERS REBZG XBLNR SHKZG DMBTR
WRBTR ZFBDT ZBD1T ZBD2T ZBD3T
FROM BSID INTO CORRESPONDING FIELDS OF TABLE I_BSYD
FOR ALL ENTRIES IN I_BFODA_KUNNR
WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR
AND BUKRS EQ I_BFODA_KUNNR-BUKRS
AND GJAHR EQ I_BFODA_KUNNR-GJAHR
AND BELNR EQ I_BFODA_KUNNR-BELNR
AND BUZEI EQ I_BFODA_KUNNR-BUZEI.
Build BSAD internal table
SELECT MANDT BUKRS KUNNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR
BUZEI HKONT BUDAT BLDAT WAERS REBZG XBLNR SHKZG DMBTR WRBTR ZFBDT
ZBD1T ZBD2T ZBD3T
FROM BSAD APPENDING CORRESPONDING FIELDS OF TABLE I_BSYD
FOR ALL ENTRIES IN I_BFODA_KUNNR
WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR
AND BUKRS EQ I_BFODA_KUNNR-BUKRS
AND AUGDT GT P_BUDAT
AND GJAHR EQ I_BFODA_KUNNR-GJAHR
AND BELNR EQ I_BFODA_KUNNR-BELNR
AND BUZEI EQ I_BFODA_KUNNR-BUZEI.
IF NOT I_BSYD[] IS INITIAL.
Remove records based on selection criteria
DELETE I_BSYD WHERE
NOT BUDAT LE P_BUDAT OR
NOT HKONT IN S_HKONT.
ENDIF.
Acquire document headers
SELECT BUKRS BELNR GJAHR BKTXT XBLNR HWAER HWAE2 FROM BKPF
INTO TABLE I_BKPF
FOR ALL ENTRIES IN I_BSYD
WHERE BUKRS EQ I_BSYD-BUKRS
AND BELNR EQ I_BSYD-BELNR
AND GJAHR EQ I_BSYD-GJAHR.
Sort document lines
SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI ASCENDING.
SORT I_BKPF BY BUKRS BELNR GJAHR ASCENDING.
Create table of unique customers
SORT I_BFODA_KUNNR BY KUNNR.
DELETE ADJACENT DUPLICATES FROM I_BFODA_KUNNR COMPARING KUNNR.
Build customer table
SELECT KUNNR NAME1 FROM KNA1
INTO TABLE I_KNA1
FOR ALL ENTRIES IN I_BFODA_KUNNR
WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR.
Free memory space
FREE I_BFODA_KUNNR.
ENDFORM. " F_SELECT_DATA
Form F_BUILD_I_CEPC_TABLE
build the i_cepc internal table that would populate the
valid profit centers to processed.
FORM F_BUILD_I_CEPC_TABLE.
PERFORM F_DIS_MSG USING 100 'Build the Profit Center Ref Table.'.
COMMIT WORK.
Acquire CEPC table
IF I_PRCTR[] IS INITIAL.
SORT S_PRCTR.
SELECT PRCTR KHINR
FROM CEPC
INTO TABLE I_CEPC
WHERE PRCTR IN S_PRCTR.
Sort table
SORT I_CEPC BY PRCTR KHINR.
Remove duplicate values
DELETE ADJACENT DUPLICATES FROM I_CEPC COMPARING PRCTR.
I_PRCTR[] = I_CEPC[].
Sort table
SORT I_PRCTR BY PRCTR.
ELSE.
Sort table
SORT I_PRCTR BY PRCTR.
Acquire CEPC table
SELECT PRCTR KHINR
FROM CEPC
INTO TABLE I_CEPC
FOR ALL ENTRIES IN I_PRCTR
WHERE PRCTR = I_PRCTR-PRCTR.
SOrt table
SORT I_CEPC BY PRCTR KHINR.
ENDIF.
IF I_CEPC[] IS INITIAL.
MESSAGE E000 WITH TEXT-006.
ENDIF.
ENDFORM. " F_BUILD_i_CEPC_TABLE
Form F_BUILD_I_REPORT
Build the A/R report internal table from bfod_a, bsid and bsad
It is necessary to go to BSAD/BSID to get the document currency
not present in bfod_a.
FORM F_BUILD_I_REPORT.
PERFORM F_DIS_MSG USING 100 'Build the report information.'.
COMMIT WORK.
Sort all internal tables, this is essential for later processing
SORT I_BFOD_A BY KUNNR BUKRS GJAHR BELNR BUZEI .
SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI.
SORT I_CEPC BY PRCTR KHINR.
LOOP AT I_BFOD_A.
New customer
AT NEW KUNNR.
READ TABLE I_KNA1 WITH KEY KUNNR = I_BFOD_A-KUNNR BINARY SEARCH.
IF SY-SUBRC EQ 0.
MOVE I_KNA1-NAME1 TO I_REPORT-NAME1.
ENDIF.
ENDAT.
Acquire header fields
READ TABLE I_BKPF WITH KEY BUKRS = I_BFOD_A-BUKRS
BELNR = I_BFOD_A-BELNR
GJAHR = I_BFOD_A-GJAHR BINARY SEARCH.
IF SY-SUBRC NE 0.
CLEAR I_BKPF.
ENDIF.
Build base record
PERFORM F_MOVE_BASE_TO_REPORT.
Load profit center data
IF P_KHINR IS INITIAL.
IF V_PREV_PRCTR = I_BFOD_A-PRCTR.
I_REPORT-KHINR = I_CEPC-KHINR.
ELSE.
READ TABLE I_CEPC WITH KEY PRCTR = I_BFOD_A-PRCTR BINARY SEARCH.
IF SY-SUBRC = 0.
I_REPORT-KHINR = I_CEPC-KHINR.
ELSE.
CLEAR I_REPORT-KHINR.
ENDIF.
V_PREV_PRCTR = I_BFOD_A-PRCTR.
ENDIF.
ELSE.
I_REPORT-KHINR = P_KHINR.
ENDIF.
Reverse signs
IF I_REPORT-SHKZG = 'H'.
I_REPORT-DMBTR = I_REPORT-DMBTR * -1.
I_REPORT-DMBE2 = I_REPORT-DMBE2 * -1.
ENDIF.
Additional details
READ TABLE I_BSYD WITH KEY KUNNR = I_BFOD_A-KUNNR
BUKRS = I_BFOD_A-BUKRS
GJAHR = I_BFOD_A-GJAHR
BELNR = I_BFOD_A-BELNR
BUZEI = I_BFOD_A-BUZEI BINARY SEARCH.
IF SY-SUBRC = 0.
PERFORM F_FORMAT_I_REPORT_FR_BSYD.
APPEND I_REPORT.
ENDIF.
ENDLOOP.
ENDFORM. " F_BUILD_I_REPORT
Form F_FORMAT_I_REPORT_FR_BSYD
Retrieve all the information needed for reporting from BSID.
If a document has a referencing invoice (REBZG), the payment terms
and the baseline date to be used will come from the referencing
invoice.
FORM F_FORMAT_I_REPORT_FR_BSYD.
*=> get the document currency amount from bsid
I_REPORT-BLDAT = I_BSYD-BLDAT.
I_REPORT-WAERS = I_BSYD-WAERS.
PERFORM F_CONVERT_CURRENCY_FR_2_AMTS USING I_REPORT-HWAER I_BSYD-WAERS
I_BSYD-DMBTR I_BSYD-WRBTR
I_BFOD_A-DMBTR
CHANGING V_BFOD_TXNAMT.
I_REPORT-WRBTR = V_BFOD_TXNAMT.
IF I_BSYD-SHKZG = 'H'.
I_REPORT-WRBTR = I_REPORT-WRBTR * -1.
ENDIF.
V_ZBD1T = I_BSYD-ZBD1T.
V_ZFBDT = I_BSYD-ZFBDT.
*=> determine reference document (referencing invoice)
CLEAR I_REPORT-SORT.
CASE I_BSYD-REBZG.
WHEN ' '.
I_REPORT-SORT = I_BFOD_A-BELNR.
WHEN 'V'.
I_REPORT-SORT = I_BSYD-XBLNR.
WHEN OTHERS.
I_REPORT-SORT = I_BSYD-REBZG.
PERFORM F_GET_DATEPAYTERM_FR_ORIGDOC.
ENDCASE.
CLEAR I_FAEDE.
I_FAEDE-SHKZG = I_BSYD-SHKZG.
I_FAEDE-KOART = 'D'.
I_FAEDE-ZFBDT = I_BSYD-ZFBDT.
I_FAEDE-ZBD1T = I_BSYD-ZBD1T.
I_FAEDE-ZBD2T = I_BSYD-ZBD2T.
I_FAEDE-ZBD3T = I_BSYD-ZBD3T.
I_FAEDE-REBZG = I_BSYD-REBZG.
I_FAEDE-BLDAT = I_BSYD-BLDAT.
CALL FUNCTION 'DETERMINE_DUE_DATE'
EXPORTING
I_FAEDE = I_FAEDE
IMPORTING
E_FAEDE = I_FAEDE
EXCEPTIONS
ACCOUNT_TYPE_NOT_SUPPORTED = 1
OTHERS = 2.
V_DPAST = P_BUDAT - I_FAEDE-NETDT.
IF V_DPAST < 0.
I_REPORT-DPAST = 0.
ELSE.
MOVE V_DPAST TO I_REPORT-DPAST.
ENDIF.
I_REPORT-ZBD1T = V_ZBD1T.
I_REPORT-NETDT = I_FAEDE-NETDT.
Update totals
PERFORM F_BUILD_TOTALS.
ENDFORM. " F_FORMAT_I_REPORT_FR_BSYD
Form F_GET_DATEPAYTERM_FR_ORIGDOC
FORM F_GET_DATEPAYTERM_FR_ORIGDOC.
In order to go back to the original document's payment terms and
baseline date, we neeed to resort bsid/bsad to a different sort
order b-coz only these 3 fields logically matched the orig doc
SORT I_BSYD BY KUNNR BUKRS BELNR.
READ TABLE I_BSYD WITH KEY KUNNR = I_BFOD_A-KUNNR
BUKRS = I_BFOD_A-BUKRS
BELNR = I_REPORT-SORT BINARY SEARCH.
IF SY-SUBRC = 0.
V_ZBD1T = I_BSYD-ZBD1T. "payment term
V_ZFBDT = I_BSYD-ZFBDT. "baseline due date
ENDIF.
SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI.
ENDFORM. " F_GET_DATEPAYTERM_FR_ORIGDOC
Form F_WRITE_REPORT
Write A/R report summarized by profit center.
Report will be build by profit center and sum all customers
then will sum past do for profit center and catagorized
will also sum by project / wbs element.
FORM F_WRITE_REPORT.
SORT I_REPORT BY PRCTR KUNNR SORT BLDAT BELNR DPAST DESCENDING.
CALL SCREEN 9000.
ENDFORM. " F_WRITE_REPORT
Form F_POPULATE_PRCTR_FROM_PRCTRGRP
FORM F_POPULATE_PRCTR_FROM_PRCTRGRP.
LOOP AT I_SET_VALUES.
IF I_SET_VALUES-TO = I_SET_VALUES-FROM.
I_PRCTR-PRCTR = I_SET_VALUES-TO.
COLLECT I_PRCTR.
S_PRCTR-SIGN = 'I'.
S_PRCTR-OPTION = 'EQ'.
S_PRCTR-LOW = I_SET_VALUES-TO.
COLLECT S_PRCTR.
ELSE.
MESSAGE E000 WITH 'System Error, contact programmer'
I_SET_VALUES-TO I_SET_VALUES-FROM.
ENDIF.
ENDLOOP.
ENDFORM. " F_POPULATE_PRCTR_FROM_PRCTRGRP
Form F_CONVERT_CURRENCY_FR_2_AMTS
This function module will ensure proper handling of decimals
and conversion of currency. This will give you the historical
exchange rate used.
BFOD_A does not have the trans curr amt so we will get it
using: ( bsid trans curr amt / bsid loc curr amt ) *
bfod_a loc currency amt
FORM F_CONVERT_CURRENCY_FR_2_AMTS USING V_FRCURR V_TOCURR
V_OFRAMT V_OTOAMT V_NFRAMT
CHANGING V_NTOAMT.
CALL FUNCTION 'Z_CONVERT_CURRENCY_FROM_2_AMTS'
EXPORTING
FROM_CURRENCY = V_FRCURR
TO_CURRENCY = V_TOCURR
OLD_FROM_AMOUNT = V_OFRAMT
OLD_TO_AMOUNT = V_OTOAMT
NEW_FROM_AMOUNT = V_NFRAMT
IMPORTING
NEW_TO_AMOUNT = V_NTOAMT
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH TEXT-005.
ENDIF.
ENDFORM. " F_CONVERT_CURRENCY_FR_2_AMTS
Form F_RETRIEVE_BFODA_BY_COMPANY
FORM F_RETRIEVE_BFODA_BY_COMPANY.
Acquire BFOD_A table
SELECT PRCTR KUNNR BUKRS GJAHR BELNR BUZEI AUGDT HKONT BUDAT
SHKZG DMBTR DMBE2 FROM BFOD_A
INTO TABLE I_BFOD_A
WHERE BUKRS IN S_BUKRS.
IF I_BFOD_A[] IS INITIAL.
EXIT.
ELSE.
Remove records based on selection criteria
DELETE I_BFOD_A WHERE NOT KUNNR IN S_KUNNR OR
NOT BUDAT LE P_BUDAT OR
NOT HKONT IN S_HKONT OR
NOT BELNR IN S_BELNR OR
( NOT AUGDT IS INITIAL AND
NOT AUGDT > P_BUDAT ).
ENDIF.
Build selection option
LOOP AT I_BFOD_A.
I_PRCTR-PRCTR = I_BFOD_A-PRCTR.
COLLECT I_PRCTR.
S_PRCTR-SIGN = 'I'.
S_PRCTR-OPTION = 'EQ'.
S_PRCTR-LOW = I_BFOD_A-PRCTR.
COLLECT S_PRCTR.
ENDLOOP.
SORT S_PRCTR.
SORT I_PRCTR BY PRCTR.
PERFORM F_BUILD_I_CEPC_TABLE.
ENDFORM. " F_RETRIEVE_BFODA_BY_COMPANY
Form F_RETRIEVE_BFODA_BY_PRCTR
FORM F_RETRIEVE_BFODA_BY_PRCTR.
Acquire BFOD_A table
SELECT PRCTR KUNNR BUKRS GJAHR BELNR BUZEI AUGDT HKONT BUDAT
SHKZG DMBTR DMBE2 FROM BFOD_A
INTO TABLE I_BFOD_A
FOR ALL ENTRIES IN I_PRCTR
WHERE PRCTR = I_PRCTR-PRCTR AND
KUNNR IN S_KUNNR AND
BUKRS IN S_BUKRS.
IF I_BFOD_A[] IS INITIAL.
EXIT.
ELSE.
Remove records based on selection criteria
DELETE I_BFOD_A WHERE NOT KUNNR IN S_KUNNR OR
NOT BUKRS IN S_BUKRS OR
NOT BUDAT LE P_BUDAT OR
NOT HKONT IN S_HKONT OR
NOT BELNR IN S_BELNR OR
( NOT AUGDT IS INITIAL AND
NOT AUGDT > P_BUDAT ).
ENDIF.
ENDFORM. " F_RETRIEVE_BFODA_BY_PRCTR
Form F_MOVE_BASE_TO_REPORT
FORM F_MOVE_BASE_TO_REPORT.
I_REPORT-PRCTR = I_BFOD_A-PRCTR.
I_REPORT-KUNNR = I_BFOD_A-KUNNR.
I_REPORT-BELNR = I_BFOD_A-BELNR.
I_REPORT-BUKRS = I_BFOD_A-BUKRS.
I_REPORT-HKONT = I_BFOD_A-HKONT.
I_REPORT-AUGDT = I_BFOD_A-AUGDT.
I_REPORT-BUDAT = I_BFOD_A-BUDAT.
I_REPORT-GJAHR = I_BFOD_A-GJAHR.
I_REPORT-BUZEI = I_BFOD_A-BUZEI.
I_REPORT-SHKZG = I_BFOD_A-SHKZG.
I_REPORT-DMBTR = I_BFOD_A-DMBTR.
I_REPORT-DMBE2 = I_BFOD_A-DMBE2.
I_REPORT-HWAER = I_BKPF-HWAER.
I_REPORT-HWAE2 = I_BKPF-HWAE2.
I_REPORT-BKTXT = I_BKPF-BKTXT.
I_REPORT-XBLNR = I_BKPF-XBLNR.
ENDFORM. " F_MOVE_BASE_TO_REPORT
Module STATUS_9000 OUTPUT
text
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS '9000'.
SET TITLEBAR '900'.
Launch standard ALV grid
PERFORM F_CREATE_ALV_GRID_CONTROL.
PERFORM F_LOAD_COLUMN_HEADINGS.
ENDMODULE. " STATUS_9000 OUTPUT
Module USER_COMMAND_9000 INPUT
text
MODULE USER_COMMAND_9000 INPUT.
CASE SY-UCOMM.
WHEN 'EXIT' OR 'CANC' OR 'BACK'.
CALL METHOD REF_CUSTOM->FREE.
SET SCREEN 0.
LEAVE SCREEN.
Begin of changes for Release 2 by HBE7890 - DEVK909110
WHEN 'PRIN'.
PERFORM PRINT_AGING_TOTALS.
End of changes.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
Form F_CREATE_ALV_GRID_CONTROL
text
FORM F_CREATE_ALV_GRID_CONTROL.
Set field catalog for ALV
PERFORM F_SET_FIELDCAT.
IF REF_CUSTOM IS INITIAL.
Create ALV container
CREATE OBJECT REF_CUSTOM
EXPORTING
CONTAINER_NAME = 'ZRPT_CONTAINER'.
Create ALV grid control
CREATE OBJECT REF_ALV_ZRPT
EXPORTING
I_PARENT = REF_CUSTOM.
Adjust look and feel
PERFORM F_CHANGE_SETTINGS.
Call the ALV Build
CALL METHOD REF_ALV_ZRPT->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = V_LAYOUT
IS_VARIANT = V_VARIANT
I_SAVE = V_SAVE
I_DEFAULT = V_DEFAULT
CHANGING
IT_SORT = I_SORT
IT_OUTTAB = I_REPORT[]
IT_FIELDCATALOG = I_ALV_FIELDCAT[].
Create print top of page
CREATE OBJECT REF_EVENT_RECEIVER.
SET HANDLER REF_EVENT_RECEIVER->MTH_PRINT_TOP_OF_PAGE
FOR REF_ALV_ZRPT.
Create print top of page
CREATE OBJECT REF_EVENT_RECEIVER.
SET HANDLER REF_EVENT_RECEIVER->MTH_PRINT_TOP_OF_LIST
FOR REF_ALV_ZRPT.
ENDIF.
ENDFORM. " F_CREATE_ALV_GRID_CONTROL
Form F_CHANGE_SETTINGS
text
FORM F_CHANGE_SETTINGS .
Set layout parameters
V_LAYOUT-GRID_TITLE = 'A/R by Profit Center'.
V_LAYOUT-SEL_MODE = 'A'.
V_LAYOUT-INFO_FNAME = 'LINECOLOR'.
V_LAYOUT-CWIDTH_OPT = 'X'.
V_LAYOUT-NO_MERGING = 'X'.
V_LAYOUT-NUMC_TOTAL = 'X'.
V_DEFAULT = 'X'.
V_SAVE = 'A'.
Set display variant
V_VARIANT-REPORT = SY-REPID.
IF P_DSVAR NE ''.
V_VARIANT-VARIANT = P_DSVAR.
ENDIF.
ENDFORM. " F_CHANGE_SETTINGS
Form F_SET_FIELDCAT
text
FORM F_SET_FIELDCAT .
Set field catalog for ALV
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'ZFR0ARPR_S1' "DEVK909110
I_STRUCTURE_NAME = 'ZPSS_ARBYPC' "DEVK909110
CHANGING
CT_FIELDCAT = I_ALV_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
Override any attributes
LOOP AT I_ALV_FIELDCAT INTO V_ALV_FIELDCAT.
IF V_ALV_FIELDCAT-FIELDNAME EQ 'NAME1'.
MOVE 'Customer Name' TO: V_ALV_FIELDCAT-REPTEXT,
V_ALV_FIELDCAT-SCRTEXT_L,
V_ALV_FIELDCAT-SCRTEXT_M,
V_ALV_FIELDCAT-SCRTEXT_S.
ENDIF.
IF V_ALV_FIELDCAT-FIELDNAME EQ 'SORT'.
MOVE 'Documentation' TO: V_ALV_FIELDCAT-REPTEXT,
V_ALV_FIELDCAT-SCRTEXT_L,
V_ALV_FIELDCAT-SCRTEXT_M.
MOVE 'DocRef' TO V_ALV_FIELDCAT-SCRTEXT_S.
ENDIF.
MODIFY I_ALV_FIELDCAT FROM V_ALV_FIELDCAT.
ENDLOOP.
ENDFORM. " F_SET_FIELDCAT
Form F_BUILD_TOTALS
text
FORM F_BUILD_TOTALS .
DATA: V_DAYS TYPE I,
V_INDEX(2) TYPE N.
CLEAR I_TOTAL.
Build total line
MOVE I_REPORT-HWAER TO I_TOTAL-WAERS.
MOVE I_REPORT-DMBTR TO I_TOTAL-TOTAL.
DO 5 TIMES.
V_DAYS = ( SY-INDEX - 1 ) * P_AGEDY.
V_INDEX = SY-INDEX.
IF I_REPORT-DPAST LE V_DAYS.
CONCATENATE 'I_TOTAL-DAYS' V_INDEX INTO V_FIELD-NAME.
ASSIGN (V_FIELD-NAME) TO <COLUMN>.
<COLUMN> = I_REPORT-DMBTR.
EXIT.
ELSEIF SY-INDEX EQ 5.
CONCATENATE 'I_TOTAL-DAYS' V_INDEX INTO V_FIELD-NAME.
ASSIGN (V_FIELD-NAME) TO <COLUMN>.
<COLUMN> = I_REPORT-DMBTR.
EXIT.
ENDIF.
ENDDO.
COLLECT I_TOTAL.
ENDFORM. " F_BUILD_TOTALS
CO-PA has all the information you need...
Profitability Analysis is that part of CO where operations will access its performance factors and profitability statements contain margins, standard cost variance, sales information, allocations and other related profit or loss data. This module helps analyze profitability of customers, markets and products at various levels of contribution margins. Profitability is measured down to the SD billing document line and is adjusted periodically against standard costs and other costs.
It has 2 methods of approach :
Costing based Profitability Analysis - This is primarily designed to let you analyze profits quickly for the purpose of sales management.
Account based Profitabilty Analysis - This type of Profitability Analysis enables you to reconcile cost and financial accounting at any time using accounts.
Guess, the second approach is what you are looking for... -
Dear PS Gurus,
Kindly help me out on this.
My Query:-
I am trying to create a PO using the T-code ME58. When i am selecting the PR and adopting it i get a message as "Profit Center was set to 9999". However i want to post the data to profit center 1300.To do so the system is asking me to to assign the PSG, cost center or other object to that profit center as well.
Diagnosis by the System
You entered profit center 1300 or transferred it from a previous transaction, such as material receipt from an external order. However, the system derived the profit center 9999 from the account assignments.
Kindluy suggest as to where i should go and change the profit center so that i dont get the error message while creating the PO.
Points will be rewarded.
Regards,
GokulDear NAG,
As suggested i checked the Proift Center in t-code OKB9. I found the details as follows:
CoCd - 1000 (IDES AG)
Profit Center - 9000 (IDES Portugal)
Cost Center - This field is blank
Cost Element - 800000
I checked the profit center in the material master also and found that the profit center 1300 is assigned, which is fine. Also i checked the profit center in my project. There too the same profit center has been assigned.
I changed the profit center from 9000 to 1300 in t-code OKB9, and tried making the PO.But still i am getting the same error.I have checked the entire list of profit centers assigned to CoCd 1000 in t-code OKB9 but nowhere i could find the profit center 9999 assigned. I am confused as to from where the system i picking up this profit center (9999). When i checked the details of the profit center 9999 it was found that it is a Dummy profit center but i dont know where it is assigned and from where the system is picking this Profit center.
Request you/anyone to knidly help me out in solving this issue. For your information i am trying this example in IDES.
Please help me out.
Thanks & BEst Regards,
Gokul -
A material document was posted to a Profit Center that didn't exist yet
Material document 4900876825 posted to profit center
P102925892 on 1/26/07. According to the master data record it wasn't created
until 1/31/07. This caused an FDM issue.
How is this possible?
There is an include program in FI_DOCUMENT_PROJECT which calls the function module Z_GET_PDC_PLANT. Apparently, this function module does not contain any logic for checking if whether the "formulated" profit center is valid or not (or the FM did not use function KE_PROFIT_CENTER_CHECK to validate profit center).Good luck, Apple tends to treat suggestions as their own property, though
-
Is it possible to Create Material Master without Profit Center ?
Hai,
1) Is it possible to Create Material Master without Profit Center ?
2) How SAP System Validate Profit Center in material master. ? is it material Type wise ?
3) Whether PO Order Creation,GRN & MIRO Possible for those material Master without Profit Center.?
Kindly Explain me clearly..
Thanks & Regards,
SwethaHi,
Profit center is at the plant level.
You can create material master even with out a profit center.This field will be there in the costing view and and general sales/plant data.
while creation of the materila master if do not select these views system will not ask for that.Normally it is pertaining to the costing analysis.
A profit center manager is held accountable for both revenues, and costs (expenses), and therefore, profits. What this means in terms of managerial responsibilities is that the manager has to drive the sales revenue generating activities which leads to cash inflows and at the same time control the cost (cash outflows) causing activities. This makes the profit center management more challenging than cost centre management. Profit center management is equivalent to running an independent business because a profit center business unit or department is treated as a distinct entity enabling revenues and expenses to be determined and its profitability to be measured.
Business organizations may be organized in terms of profit centers where the profit center's revenues and expenses are held separate from the main company's in order to determine their profitability. Usually different profit centers are separated for accounting purposes so that the management can follow how much profit each center makes and compare their relative efficiency and profit. Examples of typical profit centers are a store, a sales organization and a consulting organization whose profitability can be measured.
For more info,please refer
http://help.sap.com/erp2005_ehp_04/helpdata/EN/cc/36428094f311d2b47a006094b9b0a5/frameset.htm,
Regards, -
Adding profit center column in CJI3 report
Hi Experts,
How can I add profit center column in CJI3 report ?
This field is not available in "change layout" option as one of the hidden columns.
Please need help
Thanks
FerdawsDefault CJI3 report does not have the profit center field.
One option could be (and this is what we using in our system for adding additional columns in CJI3 report):
Enhancement on CJI3 report.
Implement enhancement COOMEP01 (enhancment componment EXIT_SAPLKAEP_001).
You need to extend your CO structure COEP (CI_COBL) or RKPOS (CI_RKPOS) to add profit center field in this structure. Then implement the above enhancement with a simple code to fill the profit center field with lookup from WBS master table.
Hope this helps.
Thanks.
Rahul -
Assembly processing profit center
Dear all,
i trigger the project by saving the sales order.
there is a problem.
when i check the project using CJ20N, i found that the profit center is DUMMY in the basic data.
the profit center should be automatically genenrated in line with the material.
could you give me some hints how can i get it done?
in the material master data? in the project profile ?please give me some hints.
thanks a lot.
judyit cannot be maintained in the std WBS.
it has serveral profit centers, they should be in line with the order type. but i haven't found the connection yet.
i think the system will determine the profit center in his logic.
profit center of the sales order is not DUMMY.but the profit center of the project is DUMMY
i am confused!! -
Incorrect flow type and profit center missing in FAGLL03 and FBL3N
After finished a transaction CJ88 ,when we use the transaction FAGLL03 for an associated GL account, profit center goes blank in the screen. In CJ20n also the correct profit center associated with the WB element is shown but it's missing in fbl3n and fagll03. Could you please provide help?
Hi JPA,
All the details that you are asking about is attached in the screen-shots provided 'inheritance_document splitting'. I am also providing you screen shots regarding the problem for a better ease of analysis. Here 'cj20n_example' shows the profit center associated during project buildup and the screen shot 'FAGLL03_example' shows the issue due to which the profit center field for the same WBS element is shown blank.
Regards,
Somak Biswas.
inheritance_document splitting:
cj20n_example:
FAGLL03_example: -
Profit Center Hierarchy - allocate between P/C
I am in process of creating a profit center hierarchy before project implementation so nothing is in system yet. I would like to know opinions on if my idea will work or a better alternative.
I have three main profit centers for the major business products. I also have one profit center for a product line that could be sold with any of the other three main P/Cs. Can I create a hierarchy with 4 profit centers and then be able to allocate out the #4 profit center to the other three?
Then I could run a P&L report on the three P/C each with their share of the 4th P/C.
Please advise - thanks.Yes you can create 4 profit centers and allocate the Revenues and Costs of the Profit center 4 to Other 3 profit centers.
Prasad -
Structure view "Profit center hierarchy" for Information system
Hi Experts
The structure view "Profit center hierarchy" is not available in standard system. I have created a new key with assignement of PS Hierarchy type '2'.
But iam getting below message when I use this new structure view:
Alternative hierarchy could not be determined
Message no. OK032
Diagnosis
You attempted to structure your project elements according to an alternative hierarchy (profit center, cost center or summarization hierarchy). The alternative hierarchy could not be read.
System Response
The system uses the "Work breakdown structure" view.
Any suggestion?
warm regards
ramSivaOk lets start from basics
go to CN41 and enter a project with std PS info profile 000000000000001
if you click o the DB profile you will have basic setting 000000000000001 etc
this gives us the project structure
Now in transaction OPUR create a view for PC hierarchy
Z00000000001 - whatever description
select PS hier type 2 - Profit Ctr via set
I think you have done this
In this configuration there is a group name - you need to enter the profit centre hierarchy group name from your system
this group must exist in your system check using transaction KCH3 to display group - if this is not entered correctly you will get the exact error you have got - I have been able to replicate in my system
Now run CN41 change DB profile project view from 00000000001 to Z0000000001
Maybe you are looking for
-
Need suggestion to get data from change log table of ODS.
Hello, There is a case where i am loading opportunity header data from header ODS and opportunity item data from item ODS in the opportunity cube. Status (1= OPEN, 2= WON ETC) of the opportunity are available only in header ODS and not in item ODS. W
-
I have a hdd from a late 2009 mbp. I upgraded from leopard to snow leopard to lion to mountain lion. Now I want to upgrade to a ssd. Do I need to purchase a new copy of mountain lion to go on my new ssd? If I don't, then what is the procedure to t
-
PHOTOSHOP CS4, windows 7, error 148:3Cannot uninstall or reinstall from disk?
-
even if I only change the permission code to the webpage or even if i change one dot, the page uploads the whole thing again. If I click "changes only" it doesn't work. The this occurs only if I upload to mobile me, when I used another ftp server the
-
Dreamweaver CS4 - creating a new file
Ok so I have a weird question. I noticed on the new site I just created that when I load a page from the site Dreamweaver is creating a folder within a folder and adding a copy of the new page in there with a new name. So say I have a folder name adm