PNPCE - Obsolete Statements

Hi,
I am using PNPCE logical data base in my prog.
For this I defined the following.
Nodes: Peras.
Tables: Pernr.
Infotypes: 0002.
Is it mandatory to use Tables: Pernr. (Without this selection-screen is not coming)?
Also the statement Infotypes is Obsolete. Any alternate for this?
This statement creates infotype internal tables with header line which is not supported in OO context.
So what is the alternate for this?
Still lot of obsolete statements are shown in extended check even if I use PNPCE.
How to replace them?

hi read this ..will use ful for you.......
Purpose
The PNPCE logical database supports the evaluation of HR master data. It includes the functions of the PNP logical database and offers additional evaluation options. Therefore, you should use the PNPCE logical database instead of the PNP logical database for all new developments.
The enhanced functionality of PNPCE in comparison to PNP essentially concerns the evaluation of Concurrent Employment, that is the possibility to group evaluate several assignments/personnel numbers of a person. The new events 'GET PERSON' and 'GET GROUP' as well as an enhanced syntax for the INFOTYPES statement (addition AS PERSON TABLE) for the procurement of infotype data enable you to use the new functionality. The use of these new functions is optional. You can run a PNPCE report that does not use the new events and the addition for the INFOTYPES statement in a PNP-compatible session. Since the PNPCE also has an improved selection screen, each report benefits from this even if the report does not use the functions for evaluating Concurrent Employment.
Prerequisites
A report that wants to use the PNPCE must enter this in its report attributes under Logical database.
In addition, the PERNR structure must be declared in the report using the 'TABLES PERNR' statement. You can only use the PERNR structure again in certain circumstances. The use of the 'GET PERNR' event is therefore forbidden. Instead, use the 'GET PERAS' event. Except for the PERNR-PERNR component, all other components of the PERNR structure are no longer filled and have initial values. This kind of programming (with the exception of PERNR-PERNR) therefore not permitted.
In addition to the 'GET PERAS' event, you can also use the GET PERSON' and 'GET GROUP' events. To be able to use these events, you must declare them using the NODES statement (NODES PERSON', 'NODES GROUP', or. NODES PERAS').
Explanation of Terms
If the 'GET PERSON' and 'GET GROUP events and the 'AS PERSON TABLE' addition for the INFOTYPES statement are not used, the report indicates that it does not require the functionality for evaluating Concurrent Employment. In this case, the report runs in a PNP-compatible session. This is referred to as PNP mode in the following documentation. On the other hand, if the report uses the functionality for evaluating Concurrent Employment we refer to CE mode.
Features
Process of an Evaluation
The PNPCE selection screen offers you as standard a range of functions that you can use to restrict the personnel number and person selection. These are discussed in more detail in the following sections. The process is initially as follows regardless of whether the report runs in CE or PNP mode. All available functions and selection conditions leads to the selection of personnel numbers. If you use the sorting function, this set of personnel numbers is then sorted according to the sort criteria you selected. In PNP mode, the GET PERAS event is triggered as a result for each personnel number.
In CE mode, the persons belonging to the personnel numbers are determined first for all personnel numbers selected. The GET PERSON event is then triggered for each person. The person ID is specified in the OBJID component of the PERSON structure. PERNR_NUM contains the total number of personnel assignments (= personnel numbers) that this person has and the ALL_PERNRS table, which contains a list of these personnel numbers regardless of whether they were actually selected or not. The SELECTED flag is set to X for the personnel numbers selected. The flag is initial for all personnel numbers that are not selected. The PROCESS flag specifies whether the personnel number should be processed in the rest of the process. This flag is set to X by default for the personnel numbers selected. However, the report can set or delete this flag at the GET PERSON event for all personnel numbers. In this way, report and logical database communicate with each other which enables the report to control the rest of the process.
In the next step, the logical database groups all personnel numbers of a person that are to be processed (that is, all personnel numbers that have the PROCESS flag set). The report can control the type of grouping using the PNPCE_GROUPING_FROM_PAYROLL flag (normal or payroll grouping) and using the PNPGPRSN (grouping reason) and PNPGPVAL (grouping value) parameters of the selection screen. The GET GROUP event is triggered for each group of personnel numbers determined. The GROUPING_REASON and GROUPING_VALUE components contain the grouping reason and grouping value of this group. The number of personnel numbers that belong to this group and that are processed subsequently is in PERNR_NUM. The included ALL_PERNR table contains a list of these personnel numbers with additional information. The SELECTED flag specifies whether the current personnel number was originally selected (flag is set) or was marked by the report as to be processed. GROUPING_BEGDA and GROUPING_ENDDA contain the validity period that the personnel number has for this grouping. The NO_AUTHORITY flag is set if there is insufficient authorization for a personnel number. This personnel number is not processed further. The SORT component defines a standard sort order for the personnel numbers of a group. The report can change this by overwriting the values. In this way, report and logical database communicate with each other, which controls the further processing sequence of the personnel numbers.
The GET PERAS event is then triggered for all personnel numbers of the group (with the exception of the personnel numbers for which no authorization exists) in the sequence defined by the SORT component (see above). The SELECTED, GROUPING_BEGDA, and GROUPING_ENDDA components have the same meaning here as with the GET GROUP event. The PROCESSED_BEFORE flag specifies whether the personnel number has already been processed once before (it is possible that the personnel number belongs to several groupings and has been therefore been processed several times).

Similar Messages

  • ABAP Objects - Obsolete Statements

    How to get the list of obsolete statements in ABAP Objects?
    Moderator message: please search for available information/documentation before asking.
    locked by: Thomas Zloch on Oct 6, 2010 1:08 PM

    hi
    Check table RODIR
    and pass field name obselete ='X' and check data in table
    it wil give all details..
    it will help you out.
    ankit
    Moderator message: do not copy other peoples replies, whether in the same thread or not!
    Edited by: Thomas Zloch on Oct 6, 2010 1:09 PM

  • Better replacement for Obsolete statement

    Hi ,
    During upgradation to ECC 6.0 , at many places in order to correct the Unicode error we need to use the Move statement. Since the Move-Corresponding is an obsolete statement now , so we can't use it any more. It is  very difficult and highly time consuming to move huge structures and internal tables field by field . Is there any alternative to this ?

    Move-Corresponding is an obsolete statement now
    Who said ????
    at many places in order to correct the Unicode error we need to use the Move statement
    What type of error ?

  • Obsolete statement

    Hi friends,
    I have used the statement:
    "ON CHANGE OF........ENDON." in my program.
    during extended check in program.... this satement is showing as obsolete statement error.
    The error is as follows:
    " The current ABAP command is obsolete and problematic, especially so in ABAP
    Objects
    "ON CHANGE OF ... ENDON" is not supported in the OO context."
    Can you give any way to get rid of this? What can i use instead of this statement?
    As this is very necessary in my program. I am not finding any solution.
    Please help me out....
    Thanks,
    Chinmay

    on change of is obsolete statement so u r getting this message,
    use at new to get rid of this.
    or else if at new doesnot solve ur problem,
    see the following
    The pseudo control structure ON CHANGE OF - ENDON is not allowed in ABAP Objects.
    Error message in ABAP Objects if the following syntax is used:
    ON CHANGE OF f.
    ENDON.
    Correct syntax:
    DATA g LIKE f.
    IF f <> g.
      g = f.
    ENDIF.
    Reason:
    A global invisible work field over which the program has no control is created internally. A separate work field should be declared and processed using the IF control structure.

  • Obsolete statements

    Hi,
    I am the beginner of ABAP Programming.I want to know the detail description of the Obsolete statements(Like 46c to ECC6.0) with examples.
    (For Example:In 46c Ranges but Ecc6.0 Type/Like range of ).
    Thanks
    Chandramohan.

    - Look at sap documentation, in [ABAP Statements - Overview |http://help.sap.com/abapdocu_70/en/ABENABAP_STATEMENTS_OVERVIEW.htm] look for [Obsolete Statements |http://help.sap.com/abapdocu_70/en/ABENABAP_OBSOLETE.htm]
    - Search at sdn, there are many threads and some wikis like [Obsolete FM and Statement replacements|http://wiki.sdn.sap.com/wiki/display/ABAP/ObsoleteFMandStatementreplacements]
    Regards,
    Raymond

  • REG: Obsolete statements in SLIN ecc 5.0

    Hi all,
    When i am executing the ABAP EPC for obsolete statements.(with Also display Hidden Messages)
    I get the 2 Obsolete statements and as following :
          Program:  ZXXXXX     Row:    652                                                                               
    The current ABAP command is obsolete and problematic, especially so in ABAP                                                        
    Objects                                                                               
    An explicit work area is necessary in the OO context. Use "APPEND wa TO S_WERKS                                                    
    [SORTED BY]".                                                                               
    (The message can be hidden with "#EC *)                                                                               
    Program:  ZXXXXX     Row:   2558                                                                               
    The current ABAP command is obsolete and problematic, especially so in ABAP                                                        
    Objects                                                                               
    At "LOOP AT itab", one of the additions "INTO", "ASSIGNING", or "TRANSPORTING NO                                                   
    FIELDS" is required. in the OO context.                                                                               
    (The message can be hidden with "#EC *)                                                                               
    Though i put the  "#EC after above variable still i can see it in the SLIN overview.
    Pls help me to hide these Obsolete statements.
    Thanks and Regards
    Srikanth.P

    Lest you find yourself labelled as "out of date" or "obsolete", perhaps you could spend a little time to bring your coding practices up to the state of the product.  A LOT of things used in ABAP within my 12 years are now obsolete.  For instance, the "Official ABAP Programming Guidelines" by SAP Press, written by Drs. Thummel and Keller, describes FORM....ENDFORM and REFRESH as obsolete.
    In current versions, we loop at ...assgining <Field-symbol> or into structure.... 
    We do read table into structure or assigning <field-symbol> or (where possible) transporting no fields.
    We don't have tables with header rows, since those can't be used in OO.
    We don't use REFRESH, we use CLEAR tabname[].
    In OO, we use the SoC, software layering concepts, with GUI, Application and Persistence level Class definitions and implementations.
    We used class-based exception handling where possible to avoid abends which are, of course, detrimental to our users' experiences.
    etc.

  • Hi removing the obsolete statements.....

    Hi all
    when i am running the EPC i am gettting obsolete statements for these statements
    here is the code where it was showing the obsolete status
    can any body help me in correcting this:
    FORM alv_init_report_events TABLES ot_events TYPE slis_t_event.
      CLEAR   ot_events.
      REFRESH ot_events.
      ot_events-name = slis_ev_user_command.
      ot_events-form = 'USER_COMMAND'.
      APPEND ot_events.
      ot_events-name = slis_ev_pf_status_set.
      ot_events-form = ''.                 "'PF_STATUS_SET'.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_list.
      ot_events-form = 'TOP_OF_LIST'.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_list.
      ot_events-form = 'END_OF_LIST'.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_page.
      ot_events-form = 'TOP_OF_PAGE'.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_page.
      ot_events-form = 'END_OF_PAGE'.
      APPEND ot_events.
      ot_events-name = slis_ev_foreign_top_of_page.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_foreign_end_of_page.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_coverpage.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_coverpage.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_before_line_output.
      ot_events-form = 'BEFORE_LINE_OUTPUT'.
      APPEND ot_events.
      ot_events-name = slis_ev_after_line_output.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_caller_exit_at_start.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_list_modify.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_subtotal_text.
      ot_events-form = ''.
      APPEND ot_events.
    ENDFORM.                    "ALV_INIT_REPORT_EVENTS
    i am getting this error
    The current ABAP command is obsolete and problematic, especially so in ABAP
    Objects
    An explicit work area is necessary in the OO context. Use "APPEND wa TO OT_EVENTS
    [SORTED BY]".
    (The message can be hidden with "#EC *)
          Program:  ZF_NOTA_FISCAL_REPORT_BRZL  Row:   1242
    The current ABAP command is obsolete and problematic, especially so in ABAP
    Objects
    An explicit work area is necessary in the OO context. Use "APPEND wa TO OT_EVENTS
    [SORTED BY]".
    (The message can be hidden with "#EC *)

    Hi,
    declare ot_events as below
    Data: ot_event type table of slis_alv_event,
             wa_event type slis_alv_event.
    CLEAR wa_events.
    REFRESH wa_events.
    wa_events-name = slis_ev_user_command.
    wa_events-form = 'USER_COMMAND'.
    APPEND wa_events to ot_events.
    <b>Reward Points if this helps,</b>
    Satish

  • Obsolete statements in ecc and higher

    can anybody tell me about the obsolete statements that are caught by transaction code uccheck<i><b>(such as open data set,concordinate,translate)function modules ws_upload ws_download</b></i>)

    Hi,
    Check these links,
    Hope this helps,
    http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb33cc358411d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb3294358411d1829f0000e829fbfe/content.htm
    Regards,
    Pritha.
    Reward points if helpful.

  • Why Obsolete Statements

    Hi,
            What are the problems we need to face while using obsolete statements in a program.
    Is there any other options insted of Import and export of memory ids comes under the obsolute statements?
      DATA:lv_run_id TYPE XXXX_run_id,
           lv_memrunid TYPE c LENGTH 11 VALUE 'XXXX_RUNID'.
      GET PARAMETER ID 'ACC_SYSTEM' FIELD lv_accsys.
    *--- For RunId we use a memory ID
      IMPORT lv_run_id FROM MEMORY ID lv_memrunid.
      Last statement is an obsolete statement . is there any  other way ? for getting the parameter id.
                                     .........Gopeekrishnan

    Hi,
      Your last statement is obsolete.
    IMPORT lv_run_id FROM MEMORY ID lv_memrunid.
    correct is:
    IMPORT lv_run_id = lv_run_id FROM MEMORY ID lv_memrunid.
    implicit field names are no more allowed.
    From F1 help:
    Reason:
    The use of implicit names may lead to errors. The specified names are to be understood as field identifications in the cluster. With the implicit method, the specified identifications are used literally when data clusters are exported, i.e., including offset/length specifications or preceding selectors. When clusters are imported in a different context, these identifications must be known and must be specified identically. Because of the similarity to method and function module calls, the use of the equals sign (=) emphasizes that formal parameters appear on the left and actual parameters on the right. The expressions FROM and TO are also additionally used to specify where data is stored.
    Regards, Manuel

  • Obsolete statements while using LDB PNP

    Hi,
    I am using LDB PNP, while extended program check it is showing  many obsolete statements like-
    tables : PERNR.
    infotypes
    RP_PROVIDE_FROM_LAST.
    What is the alternate to all these above statements.
    I searched the forum, but could not found anything. Please provide example.
    Thanks,

    That will bevary from system settings, In the standard reports, it will never give you the error/warning/informaton messages. But custom programs it will give as a absolete, But i can see many experts will use the these Macro's, We are doing world largest HR implemetation, Still we are using the same, Not a problem, you can avoid those messages.
    Only one way of avoiding is Using Provide statements.
    Regards,
    Mallikarjuna

  • Obsolete Statements / FMs in EhP5

    Hi Experts,
    Please let me know if any obsolete statemetns would be available in any enhancement packs, including EhP5.
    I would like to confirm apart from the functional enhancement any tecnical enhancements would be available in any of the enhancement packages provided by SAP.
    Thanks,
    Nanda

    no, obsolete statements remain the same

  • Obsolete statements in ECC with respect to 4.5b

    Hi Gurus,
    This is really very urgent.i need an information on Obsolete Statements in ECC 6.0 with respect to 4.5B R/3 Version.please help me..
    Full marks would be rewarded 100%
    regards
    Sahil

    Hi
    check the table PRGN_CORR2 which gives the list of transactions that were changed from different versions from 3.1G to 4.70 and also above versions
    Pls check this
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5ac31178-0701-0010-469a-b4d7fa2721ca
    Reward if useful
    Regards
    Raghav T

  • Replace the obsolete statement STOP

    Hi expert ,
    I am working for a upgrade project fron 4.7 to ECC. We need to replace the obsolete statement STOP. Which is the best statement to replace STOP(RETURN or  EXIT)
    Thanks and Regards
    Joby Jacob

    HI STOP leaves the current event block and trigger END-OF-SELECTION.
    SAP recommend using EXIT only within loops (see EXIT - loops ). Instead, use RETURN to leave processing blocks.
    So RETURN seems to be better option.
    Edited by: Anurag_n on Apr 14, 2010 8:31 AM

  • Reg Obsolete statements of lower client

    Hi ,
    My requirement is
    am in ECC 6
    i want to check the list of obsolete errors that will occur in ECC 5 or lower version after it is upgraded
    any way of checking by connecting through RFC to the lower version and getting the list of obselete statements

    MY REQUIREMENT IS FROMM ECC 6 CONNECT TO ECC5 OR LOWER VERSION GET THE CODE HERE DO THE EXTENDED PROGRAM CHECK
    IS THERE ANY WAY TO DO IT
    Moderator message - Please do not yell
    Edited by: Rob Burbank on Jun 19, 2009 10:24 AM

  • OBSOLETE STATEMENTS - STOP

    Hello All,
          I am working on an upgrade project , Upgrading from 4.6c to ECC 6.0 .
    I need to comment and replace the STOP statement .
    Please let me know what statement i need to put insted of STOP .
    Regards,
    Guru

    Hi Vikram,
    There is no harm in using the STOP Statement but what you need to do is just take an extra care where exactly it is used in the program.
    Thanks,
    Chidanand

Maybe you are looking for

  • What's happening with my 2ndGen AEX at night? Pings sometimes go over 1000ms!

    What's happening with my 2ndGen AEX at night? Pings sometimes go over 1000ms! My Airport Extreme is perfect all day but sometimes late at night my ping goes over 1000ms. Wired or Wifi is the same. There's no rhyme or reason as to when it happens eith

  • Download issue with rental

    I rented a movie and watched half of it. The next evening I tried to watch the rest but it did not appear in my videos. I found it in my downloads and it looked as though I had never downloaded it. I tried to download it again and it stalls halfway t

  • Reversed documents are not cleared

    Hello there I am dealing with support to customer who has following issue (among others..): - the settings are made so that standard SAP reversing procedure is messed up! Namely, when the user reverse FI document the SAP creates new one (reversal doc

  • Access DataField in Itemrenderer when submitting to Database

    Hello, I'm really stuck on this one. I have setup an Itemrenderer in a Datagrid which manages a DateField. Users can enter a date and other values directly in the datagrid. When they click 'submit', I want to populate a row in a database and I have s

  • Missing System Fonts or CMap Files after reinstallation.

    I just had to download and reinstall my CS 2 due to the disabling of the activation server. After installation, I get an error message of, "Adobe InDesign is missing required system fonys or CMap files. Please reinstall." I have uninstalled and reins