To use logical database PNP in class builder

Hi
Inside the class builder (SE24), i have a created a method.
Now while implementing that method, that is between method and endmethod
statement can i implement logical database PNP or PNPCE.
  If 'yes' how to use it.
  if 'no' what is the other way to implement authorization.
Pls help me

Hello,
assume that the routines GET_ITnnnn are written by yourself. For reading infotypes ABAP Objects provides us with same very helpful classes as shown below:
* define data
  DATA:
    gif_employee      type ref to if_pt_employee,
    go_employee       type ref to cl_pt_employee,
    gt_infotypes      TYPE tim_tmw_itlist_tab,
    go_control        TYPE REF TO if_pt_td_control,
    go_data           TYPE REF TO if_pt_td_base,
    go_pnnnn          TYPE REF TO if_pt_td_itnnnn,
    gt_p0001          TYPE TIM_P0001_TAB,
    gt_p0002          TYPE TIM_P0002_TAB,
    gt_p0003          TYPE TIM_P0003_TAB.
start-of-selection.
GET pernr.
<b>* Create employee instance</b>
  gif_employee = cl_pt_employee=>get_employee( pernr ).
  go_employee ?= gif_employee.
<b>* Get master infotypes (0001, 0002)</b>
  CALL METHOD go_employee->get_master_data
    EXPORTING
      im_begda = id_fromdate
      im_endda = id_todate
    IMPORTING
*      EX_I0000 =
      EX_I0001 = gt_p0001
      EX_I0002 = gt_p0002
*      EX_I0007 =
*      EX_I0008 =
<b>* Append all other required infotypes to itab</b>
  APPEND '0003' TO gt_infotypes.
  CALL METHOD go_employee->get_infotypes
    EXPORTING
      i_itlist      = gt_infotypes
      i_fromdate    = id_fromdate  " start date
      i_todate      = id_todate    " end date
*      I_FILTER      =
      i_noauthcheck = 'X'
    IMPORTING
      e_result      = gt_infty_request
      e_retcd       = gd_retcd.
* Please see documentation of parameter e_retcd...
  LOOP AT gt_infty_request INTO go_control.
    go_data = go_control->data.  <b>" get data object</b>
*   Casting
    TRY.
        go_pnnnn ?= go_data.
      CATCH cx_sy_move_cast_error.
        CONTINUE.
    ENDTRY.
<b>*   Convert infotype (semi-transparent -> transparent)</b>
    CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
      EXPORTING
        prelp = lo_pnnnn->prelp
      IMPORTING
        pnnnn = gs_p0003.
    APPEND gs_p0027 TO gt_p0003.
  ENDLOOP.
The class CL_PT_EMPLOYEE provides us already with very easy access to so-called master infotypes (000, 0001, 0002, 0007 and 0008). All other infotypes can be read using method GET_INFOTYPES.
Using these classes we have a very convenient and standardized way of accessing all kinds of infotypes.
Vasanth

Similar Messages

  • How to hide selection fields when using logical database PNP

    hi.
    i m using a logical database PNP and report catagory 1PY_DEF in my program.
    but when i execute it , it shows to selection box. one name is period and second is selections.
    but i just want to show only period box selection fields , not the selection box fields.
    how it iz possible.

    HI,
    In my case i haved used the PNP logical database..in the selection box i don't wnat to display Contorling area,Cost Center & Organizational Unit. i have written this code to hide those fields..
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-name CS 'PNPKOKRS' OR
           screen-name CS 'PNPKOSTL' OR
           screen-name CS 'PNPORGEH'.
          screen-active = '0'.
          screen-invisible = '1'.
          MODIFY SCREEN.
          CLEAR screen.
        ENDIF.
      ENDLOOP.
    Try modify hide the total block instead of individual fields in that block.

  • Problem with using Logical Database PNP

    Hello everybody!
    When I use the logical database PNP in my program,a warning message appeared during the syntax check with Unicode checks actived.The message looks like below:
    <b>Include DBPNPCOM.
    In Unicode programs,the "-" character cannot appear in names,as it does here in the name "PNP-SW-FOUND".
    Include DBPNPCOM.
    In Unicode programs,the "-" character cannot appear in names,as it does here in the name "PNP-SY-TABIX".</b>
    Anybody know how to deal with this problem?
    Regards
    Brian Liu

    Hi,
    You can either ignore the warnings or uncheck the 'Unicode checks Active' checkbox in the program attributes. In fact you get the same warnings off most standard SAP HR Reports.
    Good luck,
    Suresh Datti

  • Problem in Using Logical Database PNP

    Hi Guru's,
    I am using PNP logical database and rp_provide_from_last 
    macros statements to fetch data from PA Tables.
    When i am doing extended syntax check it is showing more
    than 60 error's in ECC 6.0 for below statements:
          1)  Tables:  Pernr
          2)  Infotypes: 0001,0002. and
          3)  RP_PROVIDE_FROM_LAST statements.
    Could any please provide soloution how to clear all these.
    Its very urgent.
    Thanks in advance.
    Regards,
    Sunil

    Hi Ramesh,
    These are the type of error messages in exetnded syntax check:
    The current ABAP command is obsolete
    In the OO context either an INTO or an ASSIGNING specification or the addition
    "TRANSPORTING NO FIELDS" must be used . be used. be used. be used. be used. be
    used.
    Internal Message Code: READ 018
    (The message cannot be hidden using pseudo-comment "#EC .., bzw. durch SET
    EXTENDED CHECK OFF/ON)
          Program:  Z_INT_I_PY_BONUSPAYMENT  Include:  Z_PY_F01_BONUSPAYMENT  Row:    279
    The current ABAP command is obsolete
    At "LOOP AT itab" one of the additions "INTO", "ASSIGNING" or "TRANSPORTING NO
    FIELDS" is required in the OO context . .
    Internal Message Code: LOOP 012
    (The message cannot be hidden using pseudo-comment "#EC .., bzw. durch SET
    EXTENDED CHECK OFF/ON)
          Program:  Z_INT_I_PY_BONUSPAYMENT  Include:  Z_PY_F01_BONUSPAYMENT  Row:    282
    The current ABAP command is obsolete
    In the OO context either an INTO or an ASSIGNING specification or the addition
    "TRANSPORTING NO FIELDS" must be used . be used. be used. be used. be used. be
    used.
    Internal Message Code: READ 018
    (The message cannot be hidden using pseudo-comment "#EC .., bzw. durch SET
    EXTENDED CHECK OFF/ON)
          Program:  Z_INT_I_PY_BONUSPAYMENT  Include:  Z_PY_F01_BONUSPAYMENT  Row:    282
    The current ABAP command is obsolete
    At "LOOP AT itab" one of the additions "INTO", "ASSIGNING" or "TRANSPORTING NO
    FIELDS" is required in the OO context . .
    Internal Message Code: LOOP 012
    (The message cannot be hidden using pseudo-comment "#EC .., bzw. durch SET
    EXTENDED CHECK OFF/ON)
    Please suggest me some way to clear these if it is possible.

  • Logical database PNP not retrieving data for custom infotypes.

    Hi all,
    I am using logical database PNP in a program. I have declared infotypes as follows:
    INFOTYPES: 0001, 0002, 0041, 9801, 9840.
    The problem is that the logical database is retrieving data for the standard infotypes but not for the custom infotypes. Any explanation as to why data for custom infotypes is not being retireved and how this can be solved will be greatly appreciated.
    regards,
    Hamza

    solved

  • Logical Database PNP cannot fetch correct data?

    I use logical database PNP fetch HR master data.
    PA0001 has records with company code = 0960 .
    But can not fetch data using GET PERNR.
    however
    PA0001 has not records with company code = 0770 .
    But it got so many data using GET PERNR.
    WHY..............
    person originally transferd from 0770 to 0960, It is OK.

    I belive this is not concurent employment why we need to use
    PNPCE
    Please be specific about your question
    Regards

  • Selection screen for logical database PNP..

    hi all,
    I am having a requirement to produce a HR Report where i need to use logical database PNP. Now the issue is i need to supress some of the elements of standard selection screen of PNP and add a couple of fields of mine.
    i have been looking all around and i got few of the below methods.
    its good to use a report category.
    somewhere it says include it in ur program using selection screen block..
    can you please guide me which is the best way and what would be a perfect solution?
    thanks in advance,
    Reena

    Hi reeena,
    1. simple
    2. u want to
      a) add ur own fields
      b) suppress some fields
    3. a) is simple, just add your parameters,
       in your program, and they will appear
       b) use SCREEN logic
    4. just copy paste to get a taste of it
      (it will HIDE the PAYROLL AREA field)
      and add MATNR field
    5.
    report abc.
    TABLES : PERNR.
    PARAMETERS : MATNR LIKE MARA-MATNR.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-NAME CS 'ABKRS'.
          SCREEN-INVISIBLE = '1'.
          SCREEN-INPUT = '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    regards,
    amit m.

  • Selection screen and logical database PNP

    hi all,
    I am having a requirement to produce a HR Report where i need to use logical database PNP. Now the issue is i need to supress some of the elements of standard selection screen of PNP and add a couple of fields of mine.
    i have been looking all around and i got few of the below methods.
    its good to use a report category.
    somewhere it says include it in ur program using selection screen block..
    can you please guide me which is the best way and what would be a perfect solution?
    thanks in advance,
    Reena

    In the Program Attributes, click on the pushbutton 'HR Report Category'.Click on the 'Create' icon in the pop-up  window that comes up. You will get a list of all the available Report Categories. Go through the list & if you don't find one that suits you, select one that is closest & click on the 'Copy As' icon in the menu bar..
    Now, you can remove the unwanted fields & add yours for selection. save it & and attach it to report in the attributes.
    ~Suresh

  • Logical database PNP (Suppress message)

    Hi,
          we are having 1 report which is using logical database PNP
          this is being shown in ALV
          when the user runs the report the output is shown and after pressing BACK button the below lines are being shown
    Personnel numbers skipped by the database driver
    Reason 1: insufficient authorization, no. skipped personnel nos.:
    this is being done by logical databse program SAPDBPNP
    is there any way to supress this mesasge
    thanking you in advance
    regards
    Sai easwar

    I belive this is not concurent employment why we need to use
    PNPCE
    Please be specific about your question
    Regards

  • How does works default parameters in a program with logical database PNP?

    Hi Friends,
      I have a basic program, i need to filter info with period parameters in a program that uses logical database PNP, but it doesn't work.
      If i use "person selection period" that it's suposed to filter info according to infotype 0001 (as the sap help says), it doesn't work, i use: PNPBEGPS = today and PNPENDPS = today, and the result it's a lot of registers that doesn't meet that criteria.
      Also i tried with: data selection period, today, up to day, current month. And the result it's with the same problem.
      How does works period parameters in a program with logical database PNP?
    This it's the program example, i use the default category.
    REPORT  ZRPHRTEST.
    tables: pernr.
    infotypes: 0001.
    start-of-selection.
    get pernr.
      write: pernr-pernr, p0001-begda, p0001-endda.
    end-of-selection.
    write 'fin'.

    Hi,
    Define pernr table under tables statement then and use GET PERNR event.This get event is followed by End-Of-Selection.
    Syntax: Tables pernr.
                Get pernr.
    Try, activate and test. This should solve your problem.
    Regards,
    Abhijeet

  • Regarding logical database PNP

    Hi all:
         I am learning to use logical database PNP,
        Originally,  there are some buttons like 'Further selection' 'selection helps ' 'Sort order' at the top of selection screen. How could I control them? If I just use some of them , like 'Further selection' , How could I remove the other two from the selection screen ?
         what's more, How could I add button like 'Org. struture'  at the top which doesn't exsit originally?
    Thank you very much!

    Hi,
    You need to select the appropriate Hr Report Catageory in the Program Atrributes. If you did not find the suitable one you can create the new as per your requirement and assign it in the Hr Report Catageory  of the Program attribute.
    Edited by: Avinash Kodarapu on Mar 11, 2009 3:56 PM

  • HR Logical database PNP. OO to fill table dynamic table  from PNP  ?

    Hi all
    I want to get some stuff from the HR logical database into a dynamic table
    Here's a real simple example that writes info out to a normal list.
    (report is based on using Logical DB PNP)
    tables: pernr.
    INFOTYPES: 0001,                     "Organizational Assignment
               0002.                     "Personal Data
    SELECT-OPTIONS: language FOR p0002-sprsl.
    INITIALIZATION.
      pnptimed = 'D'.
    GET pernr.
      PROVIDE * FROM p0002 BETWEEN pn-begda AND pn-endda.
        CHECK language.
        WRITE: / p0002-pernr,
                 sy-vline,
                 p0001-ename,
                 sy-vline,
                 p0002-sprsl,
                 sy-vline,
                 p0002-gbdat.
      ENDPROVIDE.
    endform.
    Now what I want to do is replace the write stuff by appending the entries into a dynamic table which I will display as an ALV Grid.
    so I add my structure in the data declarations
    types:  begin of s_elements,
       pernr  type  p0002-pernr,
       ename  type p0001-ename,
       sprsl  type p0002-sprsl,
       gbdat   type p0002-gbdat.
      drop_down_handle  type int4.
    types: end of    s_elements.
    include zz_jimbo_incl.
    build the dynamic table
    create data dref type s_elements.
      assign dref->* to <fs>.
      i_routine = 'POPULATE_DYNAMIC_ITAB'.*
    i_names   = 'NAME_COLUMNS'.
      i_gridtitle = 'HR  TEST'.
    invoker = sy-repid.
    i_zebra = 'X '.
    i_edit = '  '.
    call function 'ZZ_CALL_SCREEN'
         exporting
              invoker     = invoker
              my_line     = <fs>
              i_gridtitle = i_gridtitle
              i_edit      = i_edit
              i_zebra     = i_zebra
              i_names     = i_names
              i_routine   = i_routine
         importing
              z_object    = z_object
              dy_table    = dy_table.
    Now to populate the dynamic Itab the routine below is entered.
    form populate_dynamic_itab changing dy_table.
      assign dy_table->* to <dyn_table>.
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
    However I can't use GET / PROVIDE / ENDPROVIDE in a Form.
    Anyway round this ---seems HR has an aversion to OO.
    Cheers
    jimbo

    Hi,
    well, GET_PERNR is a so called event_statement. It has nothing to do with ABAP 00.
    Normally it will be like this:
    START-OF-SELECTION.
    GET_PERNR.
    PROVIDE ....
    END-OF-SELECTION.
    -> and here the CALL SCREEN NNNN for ALV-Display.
    Provide-statements you can use in forms of course, and as many times you want during GET and END-OF-SELECTION.
    But as I understood : you just want to save the write-statements?
    I always develop a DDIC-Structure, declarate the data objects in the programm, read the data via Provide into the infotypes, and then make a move-corresponding to my structure. and display it.
    Normally no problem.
    kind regards
    maik

  • Why and how we use Logical Database?

    Can anybody explain with example why and how we use logical database?
    Regards,
    Rajan

    Hello,
    SAP comes loaded with all the extras. Among the extras that are most helpful to IT managers are all the access routines needed to pull any business object that managers can think of out of SAP databases. However, SAP has not thought of everything where your particular applications are concerned. SAP organizes its standard database tables to service business units based on conventional business applications. Itu2019s likely your business requires something new, perhaps even something exotic. In that case, you will need to create a new database, using information from different places. Basically, you need a logical database. You need to create a virtual business data object repository consisting of a new kind of record or table that suits your purposes. In addition, the repository should be composed of information that is actually stored in a number of different locations, none of them necessarily logically associated with one another. Letu2019s take a closer look at creating logical databases.
    A case for a logical database
    Suppose my company manufactures widgets of the most obscure variety, and they are components of other widgets. I sell my widgets as raw material for the more sophisticated widgets built by others, but in some cases I actually partner with other manufacturers in creating yet another class of widget. Now, in my world, I consequently have customers who are also partners. I sell to them and I partner with them in manufacturing and distribution. Also, I need an application that uses both of these dual-use relationships.
    Essentially, I have a customer database and a partner database. Neither contains records that are structured to contain the identifying particulars of the other. Thus, I need a hybrid database that gives me tables detailing these hybrid relationships. What can I do? I can go the long way around and write a new database, pulling information from both and creating new objects with a customized program that I write by hand. However, this process is cumbersome and contains maintenance issues. On the other hand, I can use SAPu2019s logical database facility, create my logical database in a couple of minutes, and have no maintenance issues at all.
    Logical database structures
    There are three defining entities in an SAP logical database. You must be clear on all three in order to create and use one.
    u2022     Table structure: Your logical database includes data from specified tables in SAP. There is a hierarchy among these tables defined by their foreign keys (all known to SAP), and you are going to define a customized relationship between select tables. This structure is unique and must be defined and saved.
    u2022     Data selection: You may not want or need every item in the referenced tables that contributes to your customized database. There is a selection screen that permits you to pick and choose.
    u2022     Database access programming: Once youu2019ve defined your logical database, SAP will generate the access subroutines needed to pull the data in the way you want it pulled.
    Creating your own logical database
    ABAP/4 (Advanced Business Application Programming language, version 4) is the language created by SAP for implementation and customization of its R/3 system. ABAP/4 comes loaded with many predefined logical databases that can construct and table just about any conventional business objects you might need in any canned SAP application. However, you can also create your own logical databases to construct any custom objects you care to define, as your application requires in ABAP/4. Hereu2019s a step-by-step guide:
    1.     Call up transaction SLDB (or transaction SE36). The path you want is Tools | ABAP Workbench | Development | Programming Environment | Logical Databases. This screen is called Logical Database Builder.
    2.     Enter an appropriate name in the logical database name field. You have three options on this screen: Create, Display, and Change. Choose Create.
    3.     Youu2019ll be prompted for a short text description of your new logical database. Enter one. Youu2019ll then be prompted to specify a development class.
    4.     Now comes the fun part! You must specify a root node, or a parent table, as the basis of your logical database structure. You can now place subsequent tables under the root table as needed to assemble the data object you want. You can access this tree from this point forward, to add additional tables, by selecting that root node and following the path Edit | Node | Create. Once youu2019ve saved the structure you define in this step, the system will generate the programming necessary to access your logical database. The best part is you donu2019t have to write a single line of code.
    Regards
    Arindam

  • How to use Logical database in function module?

    I will create a function module in HR.
    but how to use Logical database  in function module ?  Logical database PNP always show screen.in function (RFC) code , it is a matter.

    You cannot attach the LDB to the main program of the function group.
    - So you may [SUBMIT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=submit&adv=false&sortby=cm_rnd_rankvalue] a report which use the LDB and get back the data (export/import), by default in the syntax of SUBMIT the selection-screen will not be displayed
    - Use [LDB_PROCESS|https://www.sdn.sap.com/irj/sdn/advancedsearch?query=ldb_process&cat=sdn_all], fill a structured table for selection, and get data back in another table
    - Use [HR function modules to read Infotypes|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=hrfunctionmodulestoread+Infotypes&adv=false&sortby=cm_rnd_rankvalue].
    Regards

  • Logical Database PNP. HR and Unicode

    Hi,
    currently we are checking all programs to make them unicode compliant. Using the logical database PNP a lot of macros is loaded automatically. One of them is
    rp_provide_from_last (or rp_provide_from_frst) to get the last record in a specifed time-interval. The existance is stated in varaible named pnp-sw-found, it is 0 if no record was found and 1 if there is one in existance.
    Checking the program (normal syntach check and extended syntax check) leads to the warning that varaibale names with a hyphen are no longer allowed in unicode programs if its not a structure (and pnp-sw-found is not). The program is doing well, and transaction UCCHECK does not mention this error/warning at all. Has someone experience with that issue and perhaps a solution?
    cu
      Rainer

    Thanks for the answers so far. Using PNPCE does not resolve my problem, cause we have a lot of own written reports and i just want to avoid to change them all.
    And using PNPCE idoes not solve the problem, that i have to use pnp-sw-found, this one is still in existance and gives still the warning that thois is not unicode compliant.
    Switching off the unicode flag is no good idea if we wanna go for unicode.
    Anyone else with experience in unicode in the HR Area?

Maybe you are looking for

  • MSI K8T Neo2 FIR, need help installing drivers

    Hi there, I need help with installing drivers. Here’s my setup: CPU: AMD Athlon 64 3500+ Mainbord: MSI K8T Neo2 FIR (VIA K8T800Pro) OS:  Windows XP Professional, SP2 installed ATI Radeon 9600 Pro I updated per MSI Live Monitor, but when I run ‘dxdiag

  • Doubt in XML payload validation in PI 7.1

    Dear All, I understand that the PI message payload can be validated against a XSD/XML structure.. but i do not understand its advantage as the payload will by default be validated against our source data type.. then why do we need it to get validated

  • Asiohost.cpp error

    If anyone gets an error message about asiohost.cpp, check to see if you are disabling clips on the timeline. On previous versions of Premiere I used to assign the enable/disable feature to my H key (H for "Hide") so that I could hide individual clips

  • IVE TRIED EVERYTHING,, Audio Stutters Playback every 24 Seconds in Windows

    <font face="Verdana" size="">Im pretty computer inclined.. keep my computer a well oiled powerful notebook Have a Dell XPS Notebok M70, 2.66ghz 2gb ram Windows XP Sigmatel Drivers, New Creative drivers,? Direct X Drivers? Etc.... Creative SB Audigy A

  • Feature differences from Forms 4.5 to 6i?

    Can anyone tell me in 2 sentences what the major differences in Forms versions 4.5 and 6i are? Thanks!