Effective date for a Formulation row

Hi,
our customer manage in JDE the effective date for each formulation row.
I.e.: In a particular formulation a particular salt is valid from 1-gen-2013 to 1-feb-2013.
In the same formulation another salt is valid from 2-feb-2013 to 1-mar-2013.
Is there a way to handle this also in PLM4P? Are there other customer that have the same formula management?
I hope my question is clear.
Thanks and regards.
Stefano.

Hi Stefano,
have you thought about using the Alternate Input Items to achieve this scenario? you can put description to clarify that the particular salt only available in certain amount of time. Hope this will be helpful.
Thanks,
Jessie

Similar Messages

  • Trying to get ending effective date for groups of rows

    Hi Everyone,
    I've searched the forums, but I can't find a post that presents a problem quite like this.
    I have some data that looks like this:
            ID_NUM     EFFECTIVE ALLOC_PERCENT   ACCT
           101 01-JUL-11            21   A1
           101 01-JUL-11            72   A2
           101 01-JUL-11             7   A3
           101 01-JUL-12            20   B1
           101 01-JUL-12            80   B2
           101 01-JAN-13            20   A1
           101 01-JAN-13            20   A2
           101 01-JAN-13            50   A3
           101 01-JAN-13            10   B1
           101 01-JUN-13            50   A1
           101 01-JUN-13            50   A2(note - I manually inserted blank lines for clarity)
    Here's the logic: The rows represent a percentage allocation to the account number for the specified id number, for that effective date. A newer effective date supercedes previous ones, and if any row in the conceptual group is superceded, then they all are.
    I'm trying to find out the date when each group's effective period ended, and include that in the result set so that I can subsequently calculate the number of days a given row was effective; something like this;
      ID_NUM     EFFECTIVE END_DATE   ALLOC_PERCENT ACCT
           101 01-JUL-11 01-JUL-12             21 A1
           101 01-JUL-11 01-JUL-12             72 A2
           101 01-JUL-11 01-JUL-12              7 A3
           101 01-JUL-12 01-JAN-13             20 B1
           101 01-JUL-12 01-JAN-13             80 B2
           101 01-JAN-13 01-JUN-13             20 A1
           101 01-JAN-13 01-JUN-13             20 A2
           101 01-JAN-13 01-JUN-13             50 A3
           101 01-JAN-13 01-JUN-13             10 B1
           101 01-JUN-13 <null>                50 A1
           101 01-JUN-13 <null>                50 A2The END_DATE of the group is the EFFECTIVE_DATE of the following group (ordered by ID_NUM, EFFECTIVE_DATE).
    The last two rows' END_DATE is null because there is no group of rows with a later effective date - in my process, I'll NVL that to sysdate so that my days calculations will be valid.
    I tried some analytic queries with LEAD, but I couldn't figure out how to make it get the next group's effective date. I could get the next row's effective date, but not the next group's. I couldn't specify how many lead rows to look ahead, because there is not a consistent number of rows in each group.
    How do I populate the END_Date column?
    Here's the code to create the above.
    create table t
    (id_num number,
    effective_date date,
    alloc_percent number,
    acct_code varchar2(4)
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jul-2011',21.0,'A1');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jul-2011',72.0,'A2');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jul-2011',7.0,'A3');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jul-2012',20.0,'B1');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jul-2012',80.0,'B2');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jan-2013',20.0,'A1');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jan-2013',20.0,'A2');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jan-2013',50.0,'A3');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jan-2013',10.0,'B1');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jun-2013',50.0,'A1');
    insert into t (id_num,Effective_date,alloc_percent,acct_code) values(101,'01-jun-2013',50.0,'A2');
    commit;
    select * from t;Oracle version information:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    "CORE     11.2.0.3.0     Production"
    TNS for Solaris: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    Thank you very much

    select  id_num,
            effective_date,
            first_value(effective_date)
              over(
                   partition by id_num
                   order by effective_date
                   range between 1 following and unbounded following
                  ) end_date,
            alloc_percent,
            acct_code
      from  t
      order by id_num,
               effective_date
        ID_NUM EFFECTIVE END_DATE  ALLOC_PERCENT ACCT
           101 01-JUL-11 01-JUL-12            21 A1
           101 01-JUL-11 01-JUL-12            72 A2
           101 01-JUL-11 01-JUL-12             7 A3
           101 01-JUL-12 01-JAN-13            20 B1
           101 01-JUL-12 01-JAN-13            80 B2
           101 01-JAN-13 01-JUN-13            20 A1
           101 01-JAN-13 01-JUN-13            10 B1
           101 01-JAN-13 01-JUN-13            20 A2
           101 01-JAN-13 01-JUN-13            50 A3
           101 01-JUN-13                      50 A1
           101 01-JUN-13                      50 A2
    11 rows selected.
    SQL> SY.

  • Effective Date for Yearly Increment

    We are having different effective dates for Salary and Hourly employees for whom I have created two Guideline groups but under the same Comp Plan and Comp Review Item. I am getting the desired increase Dollar amount in Annual figure for Salary and hourly figure for Hourly. But, the effective date is also taking same as per the Comp Review Item. When I tried to add one more comp review item for Hourly, I am not able to do with the same combination of Plan and Review.
    So, how can I get the respective effective date as we have only one place to define the same? Do I have to create one more Comp Plan for the Hourly employees?
    Thanks

    I was thinking your issue was with applying the appropriate guidelines.. If it is only the effective date, you can implement the BAdI HRECM00_EFFDATE & pass back the new effdt in the method GET_DEFAULT_EFF_DATE.
    ~Suresh

  • If there is no data for a specific row, please don't show the row at all.

    Hi,
    If there is no data for a specific row, please don't show the row at all.
    how can this be done??
    Thanks in advance.

    Not clear no data for row?
    Did you try with Pivot table? that should take care of it.
    Let us know updates

  • Effective date for a record

    Hello Experts,
    I am working on a project, where there is a requirement to hide the record till the effective date is kicked-off. For example, if I create the product record on 20-Jun-08 and mention the effective date as 20-Jul-2008, the record should not be available for any searches, syndication, etc.
    Please let me know, if MDM supports this kind of a feature or going to support in any future releases?
    Note: We are using MDM 5.5 with SP6
    Thanks,
    Surendra

    This is a very valid requirement for Material/Products business areas. We had a similar reqmnt earlier and what we did was to form a custom search application using Java API. So whatever parameters user passes to MDM, internally we also used to pass SYSDATE and compare this Sysdate to Effective Date. On this basis we could search only for valid products.
    And its a pretty simple application. Developers can build this within a week max!
    Hope this helps...

  • BSI Rates Effective Date for Unemployment Insurance

    Hi SAP Payroll Gurus,
    This is question regarding SAP BSI for US Payroll.
    My question is regarding BTXRate table : BSI Company Experience Rate  in which a new record exist for each new rate specific to a Authority and there is a effective date on it example 2007/01/01 .
    Now if we have put it the new rates very late i.e. let say in the middle of year 2007, then the system will run into retro in next pay and calculate the new rate effective from 2007/01/01 .
    However if I dont want the system to calculate the new rate from 2007/01/01 ( because of the manual adjustments already made) , can i change the effective date of the new rate from the date of next payperiod i want and avoid the retro i.e. calculating the new rate for previous payperiods.
    Please advise.
    Thanks
    Jay Gandhi

    The experience rates kept in BTXRATE are only used by US Tax Reporter.  The rates used in the calculation are maintained in BSI (Tax Factory Client).
    If you already adjusted the taxes, then you can keep the old rate in BSI, so that retrocalculations don't change your taxes.  Adjust the BTXRATE to the new one, and when you run your reports, Tax Reporter will tell you how much you paid (based on the employee´s payroll results wagetype /410), and how much you should have paid (the base amount for unemployment wagetype /710 multiplied by the rate in BTXRATE).
    Hope this helps,
    ~Raramuri
    Hi SAP Payroll Gurus,
    This is question regarding SAP BSI for US Payroll.
    My question is regarding BTXRate table : BSI Company
    Experience Rate  in which a new record exist for each
    new rate specific to a Authority and there is a
    effective date on it example 2007/01/01 .
    Now if we have put it the new rates very late i.e.
    let say in the middle of year 2007, then the system
    will run into retro in next pay and calculate the new
    rate effective from 2007/01/01 .
    However if I dont want the system to calculate the
    new rate from 2007/01/01 ( because of the manual
    adjustments already made) , can i change the
    effective date of the new rate from the date of next
    payperiod i want and avoid the retro i.e. calculating
    the new rate for previous payperiods.
    Please advise.
    Thanks
    Jay Gandhi

  • Showing data for the first row only

    Oracle Experts ,
    Below is my table in oracle.I wnat show Company ID only for the first row of each company. Table 2 is my output .
    Company Country Company ID
    BARCALAYS UK 1
    BARCALAYS USA 1
    BARCALAYS Australia 1
    Kingfisher UK 2
    Kingfisher INDIA 2
    Kingfisher INDIA 2
    Output Table 2 :
    Company Country Company ID
    BARCALAYS UK 1
    BARCALAYS USA Null
    BARCALAYS Australia Null
    Kingfisher UK 2
    Kingfisher INDIA Null
    Kingfisher INDIA Null
    Please give me a sql query.
    Many thanks in advance .
    Regards,
    Dirasa

    based on if a particular country is appearing twice for the same company and company_id wether to show the company_id for that country or not you may use any of the below queries :)
    /* Will show compan_ID twice if the country is repeated */
      with x as (
          select 'Foo' company_name, 'UK' country, 1 company_id from dual
          union all
          select 'Foo', 'USA', 1 from dual
          union ALL
           select 'Foo', 'USA', 1 from dual
           UNION ALL
          select 'Foo', 'AUS', 1 from dual
          union ALL
        select 'Foo', 'AUS', 1 from dual
          union all     
          select 'Bar', 'UK', 2 from dual
          union all
         select 'Bar', 'USA', 2 from dual
         union all
         select 'Bar', 'India', 2 from dual
    SELECT company_name,country,CASE WHEN rn=1 THEN company_id ELSE NULL END company_id
       FROM (SELECT
       company_name,company_id,country,rank()over(PARTITION BY company_name,company_id ORDER BY country) rn
        FROM x)
    /* Will NOT show compan_ID twice even if the country is repeated */   
      with x as (
          select 'Foo' company_name, 'UK' country, 1 company_id from dual
          union all
          select 'Foo', 'USA', 1 from dual
          union all
          select 'Foo', 'AUS', 1 from dual
          union ALL
        select 'Foo', 'AUS', 1 from dual
          union all     
                 select 'Foo', 'USA', 1 from dual
           UNION ALL
          select 'Bar', 'UK', 2 from dual
          union all
         select 'Bar', 'USA', 2 from dual
         union all
         select 'Bar', 'India', 2 from dual
    SELECT company_name,country,CASE WHEN rn=1 THEN company_id ELSE NULL END company_id
       FROM (SELECT
       company_name,company_id,country,row_number()over(PARTITION BY company_name,company_id ORDER BY country) rn
        FROM x)
    /* Will show compan_ID twice if the country is repeated */
      with x as (
          select 'Foo' company_name, 'UK' country, 1 company_id from dual
          union all
          select 'Foo', 'USA', 1 from dual
          union ALL
           select 'Foo', 'USA', 1 from dual
           UNION ALL     
          select 'Foo', 'AUS', 1 from dual
          union ALL
        select 'Foo', 'AUS', 1 from dual
          union all     
          select 'Bar', 'UK', 2 from dual
          union all
         select 'Bar', 'USA', 2 from dual
         union all
         select 'Bar', 'India', 2 from dual
    SELECT company_name,country,CASE WHEN rn=1 THEN company_id ELSE NULL END company_id
       FROM (SELECT
       company_name,company_id,country,dense_rank()over(PARTITION BY company_name,company_id ORDER BY country) rn
        FROM x)
                    Cheers!!!
    Bhushan

  • Error in receiving tableview data for selected row

    Hi Collegues ,
    We plan to realize an application for the maintanance of  planning data . In the first step we created a value help page by using a tableview with iterator class ( 1 of the 3 methods of the Interface was filled with logic ) . We don't use any controller for that application  .
    A global internal table with the relevant help value data ( fgrvalues ) is used for the tableview and the call is :
    TYPE I .
    +CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
    CLEAR ONCLICKEVENT.
    IF EVENT_ID = CL_HTMLB_MANAGER=>EVENT_ID.
        EVENT_DATA = CL_HTMLB_MANAGER=>GET_EVENT( REQUEST ).
        IF ( EVENT_DATA IS NOT INITIAL ) AND
                ( EVENT_DATA->EVENT_TYPE = 'click' ) .
                ONCLICKEVENT = EVENT_DATA->SERVER_EVENT .
        ENDIF.
    ENDIF.+
    CASE ONCLICKEVENT.
    WHEN 'take' .
       TABLE ?= CL_HTMLB_MANAGER=>GET_DATA( REQUEST = REQUEST
       NAME = 'tableView'
       ID = 'fgr1_vhelp' ) .
       TABLE_EVENT = TABLE->DATA.
       IF TABLE_EVENT->SELECTEDROWINDEX IS NOT INITIAL.
          ROWSELECTION = TABLE_EVENT->SELECTEDROWINDEX.  
    -> ROWSELECTION - Content is now the index of the selected tableview row
    We always get the selected row in TABLE_EVENT->SELECTEDROWINDEX and the table TABLE_EVENT->ALLCOLUMNNAMES filled ( column ZX_FGR1 is the 2nd column ) 
    but we never got the tableview data for that tableview row no matter what we tried . We tried it with a tableview-event fired on 'rowselection' by user line-selection . We have deactivated the iterator or changed the BPS design value . With the same result - nothing was given back .
    We found that the System-Call Return value of :
    +system-call ict
    did
    ihttp_scid_get_form_field
    parameters
    m_c_msg " > c handle
    name " > form field name                value " < form field value
                    m_last_error. " < return code+
    in the method IF_HTTP_ENTITY~GET_FORM_FIELD is empty .  M_LAST_ERROR occurs with value '20' .
      + ASSIGN ROWSELECTION TO .
    COLUMN_VALUE = TABLE_EVENT->GET_CELL_VALUE( ROW_INDEX =
    COLUMN_INDEX = '2' ). -> Column Value is empty !!+
       +CALL METHOD TABLE_EVENT->GET_CELL_VALUE
          EXPORTING
            ROW_INDEX = TABLE_EVENT->SELECTEDROWINDEX
            COLUMN_INDEX = '2'
          RECEIVING
            VALUE = COLUMN_VALUE -> Column Value is empty !!+
       +CALL METHOD TABLE_EVENT->GET_SIMPLE_DATA ....
             -> Column Value is empty !!+ *----
    What could be the reason for that problem ? In generally it must be possible somehow to read the tableview data for one or all rows of the mentioned tableview .
    We hope that someone can help and are very thankful for a hint or solution . If you need more details please let us know .
    Please Remark: It's no solution for us to read the data by using the created internal table fgrvalues and the selectedrowindex cause in a later step we plan to update an ODS table with the manual modified planning data of an editable tableview .
    Thanks a lot in advance
    Dirk Läufer

    Hi collegues ,
    It's done .
    After we've got a very helpful little hint from Brian :
    The <htmlb:tableView> renders a table to the browser. It does not keep a copy of the table. The browser will also never return the table. Never. What it can return are inputfields for each cell. But then only if each cell is custom rendered as an inputfield.
    we could certainly solve the problem .
    We set the field we want to get back from table view on not editable inputfield via the tableview-iterator method IF_HTMLB_TABLEVIEW_ITERATOR~RENDER_CELL_START :
    DATA: LCL_TABLE       TYPE REF TO CL_BSP_BEE_TABLE   ,
          LCL_INPUTFIELD2 TYPE REF TO CL_HTMLB_INPUTFIELD .
    CASE P_COLUMN_KEY .
    WHEN 'ZX_FGR1'.
    *    Field Firm Group
         CREATE OBJECT LCL_INPUTFIELD2.
         LCL_INPUTFIELD2->ID        = P_CELL_ID.
         LCL_INPUTFIELD2->WIDTH     = '100%'.
         LCL_INPUTFIELD2->MAXLENGTH = 4.
         LCL_INPUTFIELD2->TYPE      = 'STRING'.
         LCL_INPUTFIELD2->DESIGN    = 'STANDARD'.
         LCL_INPUTFIELD2->DISABLED  = 'TRUE'.
         LCL_INPUTFIELD2->VALUE =
             GET_COLUMN_VALUE( COLUMN_NAME = 'ZX_FGR1').
         P_REPLACEMENT_BEE     = LCL_INPUTFIELD2 .
    Now the method in OnInputPorcessing:
    TRY.
          CALL METHOD CL_HTMLB_MANAGER=>GET_SIMPLE_DATA
              EXPORTING
                REQUEST       = RUNTIME->SERVER->REQUEST
                ID            = 'fgr1_vhelp'
                ROW_IDX       = TABLE_EVENT->SELECTEDROWINDEX
                COL_NAME      = 'ZX_FGR1'
              CHANGING
                DATA          = FGRVALUES_LINE-ZX_FGR1 .
             IF NOT FGRVALUES_LINE-ZX_FGR1  IS INITIAL.
    *                 selektierte Firmengruppe übernehmen
                      ZX_FGR1     = FGRVALUES_LINE-ZX_FGR1   .
                      CALL METHOD NAVIGATION->SET_PARAMETER
                            EXPORTING NAME  = 'ZX_FGR1'
                                      VALUE = ZX_FGR1.
             ENDIF.
          CATCH CX_SY_CONVERSION_ERROR .
       ENDTRY.
    works properly as it should be ...
    An enormous Thanksgiving to you , Brian !!!!

  • Changing effective date of tree

    Hi guys,
    we are dealing with a matter with organization tree. As default, when adding a department into a tree, the effective date of the tree have to be later than the dept's. The matter is our organization change often, new dept added, dept change...
    As now, we have to clone the old tree with a new effective date then add the new dept into it. Then we have to run some row security processes. The trouble is here: we have 2 seperated teams for this task, one to create the tree and the other to run the processes. So it wastes a lot of time and the changes often delay.
    My question is "Is there any way to change the effective date of the tree or allow to add a dept into a tree with an earlier effective date?
    Thanks in advance.

    We are using R12 (12.0.6). Please see below errors.
    The account code combination XXX.XXXXX.1103019.000.0.0.00000.000 for line 2 is not valid for the GL Date. Using the GL Accounts form, please update the effective dates for this account code combination or use a different account code combination
    I set the effective date for the combination is "31-Dec-2011".
    Please advice.

  • Restriction on date when date is in the rows

    Hello and Nappy New Year.
    I have a problem to create the report based on the business requirements. The report should be based on the General Ledger DSO present two columns: total for the day and total for the previous day (both for the same, selected GL accounts). The rows should be Plant and Calendar Date.
    What I expect is:
    Date               Total for this day     Total for previous day
    2008-12-01          100               0
    2008-12-02          200               100
    2008-12-03          400               200
    2008-12-04          450               400
    etc.
    I created the columns as restricted key figures: first one is <= Calendar day, second is < Calendar Day. Both of them are cumulated, as I need the total on selected GL accounts, not the operations created on the particular day. Unfortunately, when the report is run for the time period fromu2026 tou2026 it presents the same values in both the columns. Whatu2019s more, the value presented for the first day in period donu2019t contain values gathered from the days before. It looks like the restrictions u201C<=u201D and u201C<u201D donu2019t work correctly.
    Any idea how to implement the requirement like this?
    Arelis

    Hello
    Thank you for your answer, but unfortunately it doesnu2019t work as I expected.
    In the meantime I was thinking about another approach: To be able to create the restricted key figure, where the selection on the date will be
    - from 1990.01.01
    - to variable, where variable is the value of the date for the particular row (including or excluding, depending on the Key Figure, as described in the example very above)
    The variance of the selection would be:
    - less than variable described above
    - less or equal variable described above
    The problem is that I have no idea how to put the value of the characteristic from the row to the variable. With u2018replacement pathu201D I can use only query or variable, with u201Cformula variableu201D I can use the characteristic to create the Key Figure, but I cannot use it after that.
    Any idea?
    Arelis

  • Error occured while uploading the data for Tocde QP01 (BDC)

    Hi,
    I am facing a strange problem i.e. when i try to upload the data for the Tcode QP01 i am able to upload the data for the 18 rows but when it is more than 18 ,it gives the following error and saves the data upto 18 rows only :-
    CALL_TRANSACTION QP01 returncode:     0  RECORD:          0
    S Field RC27X-FLG_SEL . not found in loop of screen SAPLCPDI 1400
    S Cursor field PLMKB-VERWMERKM (18) does not exist in the screen
    S Field PLMKB-VERWMERKM (18) does not exist in the screen SAPLQPAA 0150
    S Field PLMKB-STICHPRVER (18) does not exist in the screen SAPLQPAA 0150
    S Inspection plan with plan group 12775 for material 200999 is saved
    Is there any way to solve this problem...

    hi,
    Ok,i agree with you but the thing is it was allowing to upload the data for more than 18 rows as there was logic written. It is specified in the code:-
    ELSEIF itab1-serial > 18 AND itab1-serial < 35.
                  IF index = 19.
                    index = 2.
                  ENDIF.
    Edited by: nav009 on Sep 9, 2009 8:25 AM

  • How to pull the job with the latest effective date in PSFT?

    Hello,
    I am running the PSFT 9.1.1 connector workforcefullsync.
    I ran into a problem when the user has multiple job records. Each time that the user job is updated, a new job record is created. So, when the data comes from PSFT, for a user, we have multiple jobs records with different effective date (For example <EFFDT IsChanged="Y">1996-10-21</EFFDT>). OIM is only interested in the latest EFFDT.
    Question 1: is it something that we can set on the PeopleSoft side, so that only the job with the highest EFFDT is sent to OIM?
    Question 1b: is this is not easy to accomplish from the PSFT side, can I use transformation in the connector to only pull the job record with the highest effective date?
    Question 2: if the EFFDT shows a date in the future (HR wants to disable a person in the future), does OIM ignore this change until the sysdate is after that EFFDT date?
    Thanks
    PS: workforcefullsync worked fine if the file contains only 1 job per employee. When the xml files contain multiple job records, I got the error:
    ERROR QuartzWorkerThread-1 OIMCP.PSFTER - oracle.iam.connectors.psft.common.handler.impl.PSFTWorkForceSyncReconMessageHandlerImpl : handleMessage
    ERROR QuartzWorkerThread-1 OIMCP.PSFTER - 1
    ERROR QuartzWorkerThread-1 OIMCP.PSFTER - Description : 1
    ERROR QuartzWorkerThread-1 OIMCP.PSFTER - java.lang.ArrayIndexOutOfBoundsException: 1
    Edited by: user12049102 on Mar 22, 2010 12:06 PM

    Hello,
    When the PSFT team sends a message over to OIM to disable a user with today's date, the user got disabled fine in OIM. A reconciliation event is created.
    When the PSFT team sends a message over to OIM to disable a user with a future date for EFFDT, let's say 3/31/2010, no reconciliation event was created.
    Does OIM store this information somewhere so that it will process it later on?
    It's a good thing that OIM does not disable the user who has an EFFDT in the future, but we don't want that record to be forgotten.
    Please help.
    Thanks

  • Expiraition date for credit limit

    Hi all,
    can I set an expiration date for customers credit limit?
    Business requirement is as follows:
    In my company we grant the customers their credit limit every quarter. I want to be sure that only a deliberate action could renew the customers credit.

    hi , if every quarter you revise credit limit of the customer, You can define effective dates for credit limit in CREDIT USAGE RULES for a customer, so that when Effective Date To is expired credit limit usage cannot be perfomed for that customer. Hope this could solve your query. please let me know if wrong or right.
    thanks.
    RAM.....

  • Skills Profile - Enhance Web DynPro to handle Effective Date

    We are working with the ESS BP on ECC 6.0 and have a requirement to enter an Effectivity Date for the start of a qualification.  The trouble is that the existing function for updating the qualification profile (XSS_SKL_APPLY_QUALI_PROFILE) does not allow for a beginning date to be passed in.  Instead it uses the current date (Sy-Datum) which is set on initialization of the SkillsApplication (via FM XSS_SKL_INITIALIZE_DATA).  I have tried to enhance the structure for the qualification profile (structure RHXSS_SKL_EMPLOYEE) but it is marked as Can Not be Enhanced by SAP.
    Does anyone have any thoughts on a good way to add this functionality?  I'd hate to throw away all of SAP's work with the SkillsApplication and write one from scratch just for this small change, but it's looking like that might be my only option.

    The following describes the changes required for adding the effectivity date to the Standard Skills Profile Web Dynpro Java screen.
    ABAP Changes
    1.  Get modification keys for hte following structures and change the enhancement category of the strucures to "Can Be Enhanced Deep".
         RHXSS_SKL_EMPLOYEE
         RHXSS_SKL_PROF_UPD
         RHXSS_SKL_QUALIPROFILE
    2.  Add appends to each of the structures in step 1 for feidl ZEFFDATE
         RHXSS_SKL_EMPLOYEE - ZZEFFDATE type BEGDATUM
         RHXSS_SKL_PROF_UPD - ZZEFFDATE type String
         RHXSS_SKL_QUALIPROFILE - ZZEFFDATE type BEGDATUM
    3.  Enhance the following function modules for setting/getting the values of ZZEFFDATE
         XSS_SKL_APPLY_QUALI_PROFILE
         XSS_SKL_CONFIRMATION_DATA
         XSS_SKL_GET_PROFILE_OVERVIEW
         XSS_SKL_GET_QUALI_DETAIL_DATA
    4.  Enhance the following Includes using the Modification Assistant or Enhancement Framework for setting/getting
        LRHXSS_SKL_INTERFACEF01
        LRHXSS_SKL_INTERFACETOP 
    Java Changes
    Track:  Make a new track for the ESS Component.  A quick SDN search should produce for you a Cookbook for setting this up in the NWDI
    DC:  esssklsap.com
    1.  Reimport the Skills model to get the ABAP changes into WebDynpro
    2.  Create a new Application (zSkillsApplication in my case)
    3.  Modify the Application properties to tell the framework manager to use the CcSklConfiguration  component for navigation configuration
         Properties
         sap.authentication = true
         sap.xss.configurationComponentDC = sap.com/ess~skl
        sap.xss.configurationComponentName = com.sap.xss.hr.skl.CcSklConfiguration
    4.  In the Interface Controller of Component CcSklConfiguration, modify the navigation Graph as follows
    navigationGraph =
       new NavigationGraph(
        new NavigationPath[] {
         new NavigationPath("",IFPM.EVENT_START,"OVERVIEW"),
         new NavigationPath("OVERVIEW",IFPM.EVENT_EDIT,"DETAIL"),
         new NavigationPath("OVERVIEW",IFPM.EVENT_ADD,"SELECT"),
         new NavigationPath("OVERVIEW",IFPM.EVENT_REVIEW,"REVIEW"),
         new NavigationPath("OVERVIEW",IFPM.EVENT_REMOVE, "OVERVIEW"),
    //begin replace ERICV - Go Straight to Review&Save
    //     new NavigationPath("DETAIL",IFPM.EVENT_ADD, "OVERVIEW"),
         new NavigationPath("DETAIL",IFPM.EVENT_ADD, "REVIEW"),
    //end replace ERICV - Go Straight to Review&Save    
         new NavigationPath("DETAIL",IFPM.EVENT_BACK, "OVERVIEW"),
         new NavigationPath("DETAIL",IFPM.EVENT_SELECT, "SELECT"),
         new NavigationPath("SELECT",IFPM.EVENT_EDIT, "DETAIL"),  >
    5.  In the Component FcSklBusinessLogic, make the following changes:
            a.  Perform the context mapping of the new ZZEFFDATE field in the Interface Controller and Standard Controllier
            b.  Modify the insUpdSkill method of the Component Controller to populate the Effective Date
    try {
       wdContext.nodeApply_Quali_Profile_Input().bind(
        (Xss_Skl_Apply_Quali_Profile_Input) model.createModelObject(Xss_Skl_Apply_Quali_Profile_Input.class));
       Xss_Skl_Apply_Quali_Profile_Input input = new Xss_Skl_Apply_Quali_Profile_Input();
       Rhxss_Skl_Employee insUpdVector = new Rhxss_Skl_Employee();
       insUpdVector.setSkill_Id(wdContext.currentContextElement().getQualiId());
       insUpdVector.setExist_Profcy(wdContext.currentContextElement().getProfDropDown());
       //Begin Insert ERICV - Add Effective Date to Skills Qualification
       insUpdVector.setZzeffdate(wdContext.currentContextElement().getZzEffDate());
       //End Insert ERICV - Add Effective Date to Skills Qualification
       input.addProfile_Ins_Tab(insUpdVector);
       wdContext.nodeApply_Quali_Profile_Input().bind(input);
       wdContext.currentApply_Quali_Profile_InputElement().modelObject().execute();
      } catch (Exception ex) {
       fpm.getMessageManager().raiseException(wdThis.wdGetAPI().getComponent(), ex);
    6.  In the Component VcSklDetail make the following changes:
         a.  Context mapping of all relevant nodes to get the new ZZEFFDATE field in the context
         b.  Screen modifications to get the ZZEFFDATE on the screen
         c.  Modify the initDetail method of the Component Controller
    if ((sklOutputElement.getExpiry_Date() == null) || (sklOutputElement.getExpiry_Date().equals(""))) {
       wdContext.currentContextElement().setLicenceVisibility(WDVisibility.NONE);
    //begin insert ERICV - set the zzEffective Date
         //convert date to java.util.date
             SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy");
      try {
       java.util.Date myDate = sdf.parse(wdContext.currentGet_Quali_Detail_Data_OutputElement().getStart_Date());
       sdf.applyPattern("yyyy-mm-dd");
       wdContext.currentContextElement().setZzEffDate(Date.valueOf(sdf.format(myDate)));
      } catch (ParseException e) {
       // TODO Auto-generated catch block
                e.printStackTrace();
    //end insert ERICV - set the zzEffective Date
        //@@end

  • BEE errors out Assignment number  4816 is invalid at the effective date

    I ran a batch of 3000 employees and for all the employees i am getting the error as assignment number ....is invalid at the effective date for all the assignment.
    Then i took one assignment number = 4816 and tried still its the same . when running the BEE for the assignment number = 4816.
    I am getting the error "Assignment number 4816 is invalid at the effective date"
    when i checked this assignment it is active i wonder why this assignment and the others are miss behaving as far as BEE is concerned.
    can some one tell me what i should do so that my Batch Element Entry(BEE) gets validated....?
    Please note the element is non-recurring.
    The batch defined is as follows---
    Under Batch control section the following is done:-
    Action If Entry Exists- "Create New Entry" (please note i have also tried with "Reject Entry" it doesn't work with that also)
    Reject Rollback If Results Exist
    The batch status = Error
    All your contribution are highly appreciated!

    Thanks so much for the resolution. Is there any way , we can change the effective date to actual effective date/ end dat of the month rather than defaulting to begging of the month?

Maybe you are looking for

  • I need some detail solutions and suggests about below these problems ?

    I need some detail solutions and suggests about below these problems: Problem 1: SAP Management Console cannot start successfully • Problem 1.1: Click on SAP Management Console, but yellow light continues for a long period of time. • Problem 1.2: In

  • "Upgrade to USB 2.0" Help Please

    I'm somewhat of a new mac user (almost fully converted) and I'm having trouble with my USB ports. I've learned that mine are 1.1 but my external drive requires 2.0. I read a few forum and learned that I could use a USB 2.0 notebook card. I ordered on

  • P.O error

    Hi, while doing P.O in ME21n i am getting this error. Account assignment mandatory for material VST1000 (enter acc. ***. cat.) Message no. ME062 Diagnosis There is no provision for value-based inventory management for this material type in this plant

  • How to transfer video pc to iphone

    Please help me

  • Error using OracleXMLSave.setXSLT(xslt, null)

    Hi. I'm running a standalone OC4J server. When I deploy my webservice, and I run it, I get this error message: SOAP-ENV:Server - oracle/xdb/XMLType [java.lang.NoClassDefFoundError] When I run this on a IAS10G server, then it runs OK. I have deployed