PNPCE LDB

Hi all,
How to retrive the payroll data while using PNPCE logical databse.
plz help me out in this case.
thanks and regards,
Ravikiran

Hi Ravikiran,
you have to fetch the data using Function Modules.
(1) function module CU_READ_RGDIR reads table RGDIR from cluster CU
(2) function module CD_READ_LAST determines the current payroll result for a for-     period to be evaluated
(3) function module PYXX_READ_PAYROLL_RESULT to read a complete
     payroll result from the database table PCL2 or from the buffer.
check the following code for reference.
tables: pernr.
nodes: peras.
infotypes: 0001.
start-of-selection.
get peras.
rp_provide_from_last p0001 space pn-begda pn-endda.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = p0001-pernr
IMPORTING
molga = country
TABLES
in_rgdir = rgdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
IF sy-subrc = 1.
WRITE: / 'No records found for '(001), pernr-pernr.
REJECT.
ENDIF.
CALL FUNCTION 'CD_READ_LAST'
EXPORTING
begin_date = pn-begda
end_date = pn-endda
IMPORTING
out_seqnr = number
TABLES
rgdir = rgdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
IF sy-subrc = 1.
WRITE: / 'No payroll result found for'(002), pn-paper.
ELSE.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
clusterid = 'RX'
employeenumber = p0001-pernr
sequencenumber = number
READ_ONLY_BUFFER = ' '
READ_ONLY_INTERNATIONAL = ' '
CHECK_READ_AUTHORITY = 'X'
IMPORTING
VERSION_NUMBER_PAYVN =
VERSION_NUMBER_PCL2 =
CHANGING
payroll_result = payroll
EXCEPTIONS
illegal_isocode_or_clusterid = 1
error_generating_import = 2
import_mismatch_error = 3
subpool_dir_full = 4
no_read_authority = 5
no_record_found = 6
versions_do_not_match = 7
OTHERS = 8.
IF sy-subrc = 0.
PERFORM print_rx.
ELSE.
WRITE: / 'Result could not be read (003).
ENDIF.
ENDIF.
Hope it will help you.
regards,
Abhijit Zope

Similar Messages

  • Need example report program using PNPCE LDB in SAP HR

    Need example report program using PNPCE LDB in SAP HR.
    and how to create a report category in sap hr for using it as cutomised selection screen.

    Hi,
    Go through the following links, i hope it will help you.....
    /people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/893908#
    A sample prog with LDB PNP
    *& Report ZH_REPT_PAYMENT *
    report zh_rept_payment line-size 80 no standard page
    heading.
    tables: pernr, " Standard Selections for HR Master Data Reporting
    pcl1, " HR Cluster 1
    pcl2, " HR Cluster 2
    pa0009,
    PA9001,
    PA9006,
    pa0002,
    pc260 , " Cluster Directory for Payroll Results
    bnka .
    Infotypes
    infotypes: 0001. " Organizational Assignment
    Declaration of Internal Tables
    data : bnka1 like bnka occurs 0 with header line .
    data: begin of t_int_rep occurs 100,
    bankl like pc209-bankl, " Bank Number
    zlsch like pc209-zlsch, " Payment method
    pernr like pernr-pernr, " Employee Number
    ename like pernr-ename, " Employee Name
    bankn like pc209-bankn, " Bank Account Number
    betrg like pc209-betrg, " Amount to be transfered
    zweck like pa0009-zweck, " Purpose
    end of t_int_rep.
    data: begin of int_rep occurs 100,
    bankl like pc209-bankl, " Bank Number
    zlsch like pc209-zlsch, " Payment method
    pernr like pernr-pernr, " Employee Number
    ename like pernr-ename, " Employee Name
    bankn like pc209-bankn, " Bank Account Number
    betrg like pc209-betrg, " Amount to be transfered
    zweck like pa0009-zweck, " Purpose
    begda like pa0009-begda, "Begin date
    end of int_rep.
    Declaration of Data Variables
    data: ws_betrg like pc209-betrg, " BT Amount
    w_val like spell occurs 0 with header line,
    int_rep1(6), " TYPE I, " Employee Number
    cnt type i value 0, " Counter
    calcmolga like t500l-molga value '40', " Country Grouping
    v_id(15),
    calc_currency like t001-waers value 'INR'. " Currency
    data : ctr type i,
    dt_merge like pa0009-begda.
    data: ws_totemp(6) type c,
    ws_totamt(20) type c,
    r_mth(9) type c,
    ws_fpbeg(6) type c,
    ws_fpend(6) type c,
    ws_mthyr(6) type c,
    ws_mthyr_r(14) type c,
    r_mth_t(3) type c,
    ws_amt(8) type c,
    ws_bankl(14) type c,
    ws_date(6) type c,
    amount_word(500),
    total_page type i,
    pages type i,
    remain type i.
    data begin of i_spell.
    include structure spell .
    data end of i_spell .
    data : c_molga type t500l-molga value '40',
    c_banks type bnka-banks value 'IN'.
    Standard Includes
    include rpc2cd09. "Cluster CD data definition
    include pc2rxin0.
    include rpc2rx09.
    include rpppxd00. " Data Definition buffer PCL1/PCL2
    include rpppxd10. " Common Part buffer PCL1/PCL2
    include rpppxm00. " Buffer Handling RoutinePCL1/PCL2
    include zrpc2rox2. " Data Definition POCLSTERS (not J,K,U)
    Selection Screen
    selection-screen begin of block b1 with frame title text-001.
    parameter: pa_mth(2) type c default sy-datum+4(2) obligatory,
    pa_year(4) type c default sy-datum(4) obligatory,
    p_bankl like pc209-bankl, " Bank Number
    p_zlsch like pc209-zlsch. " Payment method
    selection-screen end of block b1.
    save_calc_currency = calc_currency.
    count_top = 0.
    get_pernr_flag = 0.
    Top-Of-Page
    top-of-page.
    perform convert_month using pa_mth(2) r_mth.
    ws_mthyr_r = r_mth.
    concatenate ws_mthyr_r pa_year into ws_mthyr_r separated by space.
    SKIP 5.
    skip 1.
    skip 4.
    if int_rep-bankl eq ' '.
    if int_rep-zlsch eq 'C' or int_rep-zlsch eq 'E' or
    int_rep-zlsch eq ' '.
    write: /1(85) 'CHEQUE PAYMENT STATEMENT'(047) centered.
    elseif int_rep-zlsch eq 'L'.
    write: /1(85) 'DEMAND DRAFT STATEMENT'(047) centered.
    endif.
    else.
    write: /1(85) 'BANK TRANSFER STATEMENT'(002) centered.
    endif.
    skip.
    write: /34 ws_mthyr_r,
    62 'Page :'(008),69(2) sy-pagno intensified off,
    ' Of ',78(2) pages intensified off.
    clear pages.
    read table bnka1 with key bankl = int_rep-bankl .
    if sy-subrc = 0.
    if int_rep-zlsch eq 'T'.
    write:/03(10) 'Bank Name : ', bnka1-banka.
    write:/03(10) 'Branch : ', bnka1-brnch.
    write:/03(10) 'Address : ', bnka1-stras.
    endif.
    endif.
    skip.
    write:/1(80) sy-uline.
    write: /1 sy-vline, 2(5) 'Sl.No'(002),
    7 sy-vline, 8(8) 'Emp.No.'(003),
    16 sy-vline,17(35) 'Employee Name'(004).
    *--added for Demand Draft
    if ( int_rep-zlsch = 'l' or int_rep-zlsch = 'L' ).
    write : 47 sy-vline, 48(15) 'Payable at'(005).
    else.
    write : 47 sy-vline,48(15) 'Account No.'(005).
    endif.
    write: 63 sy-vline,64(16) 'Amount'(006),
    80 sy-vline.
    write:/1(80) sy-uline.
    end-of-page.
    write:/1(80) sy-uline.
    write:/2 'Printed on ', sy-datum.
    Start-of-selection.
    start-of-selection.
    *perform h_headr.
    ctr = 0.
    set margin 5.
    call function 'RP_GET_CURRENCY'
    exporting
    molga = calcmolga
    importing
    waers = calc_currency
    exceptions
    others.
    if sy-subrc ne 0.
    calc_currency = 'DEM'.
    calc_currency = save_calc_currency.
    endif.
    get pernr.
    cd-key-pernr = pernr-pernr.
    perform import_cluster.
    get_pernr_flag = 1.
    check : ocd-version-molga eq calcmolga.
    The table 'tabpernr' is filled with the personnel numbers
    and is used after selection is finished.
    move-corresponding pernr to tabpernr.
    append tabpernr.
    The table 'tab_rgdir' is filled
    loop at rgdir.
    rx-key-pernr = pernr-pernr.
    unpack rgdir-seqnr to rx-key-seqno.
    perform int_tab. "fill tab_rgdir
    perform import_bt.
    perform validate.
    endloop.
    End of Selection
    end-of-selection.
    *perform h_headr.
    perform convert_date_a using pa_mth r_mth_t.
    sort int_rep by bankl zlsch pernr betrg descending.
    delete adjacent duplicates from int_rep
    comparing bankl zlsch pernr .
    sort int_rep by bankl zlsch bankn . "PERNR.
    loop at int_rep.
    at new bankl.
    select single * into bnka1 from bnka
    where banks = c_banks and
    bankl = int_rep-bankl .
    append bnka1.
    clear bnka1.
    endat.
    endloop.
    for Demand Draft - purpose added
    loop at int_rep.
    concatenate pa_year(4) pa_mth(2) '01' into dt_merge.
    select single * "zweck into int_rep-zweck
    from pa0009 where
    pernr = int_rep-pernr and
    bankl = int_rep-bankl and
    zlsch = int_rep-zlsch
    and begda <= dt_merge and
    endda >= dt_merge .
    if sy-subrc = 0.
    int_rep-zweck = pa0009-zweck.
    modify int_rep.
    endif.
    endloop.
    *-for DD and Chq sorted by PAyable at and EMPNO wise
    if p_zlsch = 'T' .
    sort int_rep by bankl zlsch bankn . "PERNR.
    else. "added for "payable at" for DD/Chq
    else.
    sort int_rep by zweck pernr . "PERNR.
    endif.
    *delete adjacent duplicates from int_rep.
    t_int_rep] = int_rep[.
    loop at int_rep.
    *-for page of page no.
    total_page = 0.
    loop at t_int_rep where bankl = int_rep-bankl
    and zlsch = int_rep-zlsch.
    total_page = total_page + 1.
    endloop.
    pages = total_page div 25.
    remain = total_page mod 25.
    comment bcoz its adding one extra page no.
    done as on 29/11/2004
    if remain > 0.
    pages = pages + 1.
    endif.
    **-end
    at new bankl.
    ctr = 0 .
    new-page.
    endat.
    at new zlsch.
    ctr = 0 .
    new-page.
    endat.
    clear v_id.
    select single natio
    into pa0002-natio
    from pa0002
    where pernr eq int_rep-pernr.
    *-testing......for soma
    if ctr > 24.
    ctr = 0 .
    write:/1(80) sy-uline.
    new-page .
    endif.
    ctr = ctr + 1 .
    cnt = cnt + 1.
    pack int_rep-pernr to int_rep1.
    write:/1 sy-vline, 2(3) cnt intensified off,
    7 sy-vline, 9(6) int_rep1 intensified off,
    16 sy-vline,17(35) int_rep-ename intensified off .
    if ( int_rep-zlsch = 'l' or int_rep-zlsch = 'L' ).
    write : 47 sy-vline,48(15) int_rep-zweck intensified off.
    else.
    write:
    47 sy-vline,48(15) int_rep-bankn intensified off .
    endif.
    write: 63 sy-vline,64(16) int_rep-betrg
    intensified off currency 'INR',
    80 sy-vline.
    ws_betrg = ws_betrg + int_rep-betrg.
    *-testing......for soma
    skip.
    write :
    /1 sy-vline, 7 sy-vline ,16 sy-vline ,47 sy-vline,63 sy-vline,80
    sy-vline .
    *-end testing......for soma
    at end of zlsch.
    if int_rep-bankl = ' '.
    call function 'HR_IN_CHG_INR_WRDS'
    exporting
    amt_in_num = ws_betrg
    importing
    amt_in_words = amount_word
    EXCEPTIONS
    DATA_TYPE_MISMATCH = 1
    OTHERS = 2
    w_val-word = amount_word.
    concatenate 'INR.' w_val-word into w_val-word
    separated by space.
    write:/1(80) sy-uline.
    write: /1 sy-vline, 7 'Total transfer:'(009),
    64(16) ws_betrg intensified off currency 'INR',
    80 sy-vline.
    write:/1(80) sy-uline.
    write: /1 sy-vline, 3 w_val-word+0(76) intensified off,
    80 sy-vline.
    write :/1 sy-vline, 10 w_val-word+76(70) intensified off,
    80 sy-vline.
    write:/1(80) sy-uline.
    clear: ws_betrg,cnt.
    skip 2.
    write: /2 'Prepared by :'(010), '_______________'(013),
    45 'Checked by :'(011),'_______________'(013).
    skip 2.
    write: /2 'Printed On ', sy-datum,
    45 'Approved by :'(012),'_______________'(013).
    clear sy-pagno.
    endif.
    endat.
    at end of bankl.
    if int_rep-bankl ' '.
    call function 'HR_IN_CHG_INR_WRDS'
    exporting
    amt_in_num = ws_betrg
    importing
    amt_in_words = amount_word
    EXCEPTIONS
    DATA_TYPE_MISMATCH = 1
    OTHERS = 2
    w_val-word = amount_word.
    concatenate 'INR.' w_val-word into w_val-word
    separated by space.
    write:/1(80) sy-uline.
    write: /1 sy-vline, 7 'Total transfer:'(009),
    64(16) ws_betrg intensified off currency 'INR',
    80 sy-vline.
    write:/1(80) sy-uline.
    write: /1 sy-vline, 3 w_val-word+0(76) intensified off,
    80 sy-vline.
    write :/1 sy-vline, 10 w_val-word+76(70) intensified off,
    80 sy-vline.
    write:/1(80) sy-uline.
    clear: ws_betrg,cnt.
    skip 2.
    write: /2 'Prepared by :'(010), '_______________'(013),
    45 'Checked by :'(011),'_______________'(013).
    skip 2.
    write: /2 'Printed on ', sy-datum,
    45 'Approved by :'(012),'_______________'(013).
    clear sy-pagno.
    NEW-PAGE.
    endif.
    endat.
    endloop.
    End of Page
    end-of-page.
    write: /2 'Prepared by :'(010), '_______________',
    45 'Checked by :'(011),'_______________'.
    *& Form IMPORT_CLUSTER
    Importing Data from Cluster *
    form import_cluster.
    sy-subrc = 0.
    rp-imp-c2-cd.
    if sy-subrc eq 0.
    if cd-version-number ne ocd-version-number.
    endif.
    endif. " SY-SUBRC EQ 0
    endform. " IMPORT_CLUSTER
    *& Form INT_TAB
    Filling internal table tab_rgdir form int_tab.
    *Fill internal table tab_rgdir.
    move-corresponding rgdir to tab_rgdir.
    tab_rgdir-pernr = pernr-pernr.
    append tab_rgdir.
    endform. " INT_TAB
    *& Form IMPORT_bt
    Import Values from Bank Transactions Table (BT) form import_bt.
    rp-init-buffer.
    RP-IMP-C2-RX.
    rp-imp-c2-in.
    if rp-imp-in-subrc eq 0.
    if in-version-number ne oin-version-number.
    write: / 'Schlüssel des Clusters RX:'(015),
    rx-key-pernr, rx-key-seqno.
    write: / 'The imported version of the cluster'(016), 'RX',
    'is not current'(017).
    write: / 'Imported version :'(018),
    oin-version-number.
    write: / 'Current version of cluster :'(019),
    in-version-number.
    stop.
    else.
    sy-subrc = 0.
    endif.
    else.
    sy-subrc = 8.
    write: /
    'Inconsistencies between cluster directory and directory for'(020).
    write: /
    'No payroll results found for data in cluster directory'(021).
    write : /
    'Please contact hotline to solve the current problem'(022).
    endif.
    ws_fpbeg(2) = versc-fpbeg+4(2).
    ws_fpbeg+2(4) = versc-fpbeg(4).
    ws_fpend(2) = versc-fpend+4(2).
    ws_fpend+2(4) = versc-fpend(4).
    ws_mthyr(2) = pa_mth.
    ws_mthyr+2(4) = pa_year.
    check ws_mthyr = ws_fpbeg.
    check ws_mthyr = ws_fpend.
    loop at bt. "from pc209
    int_rep-pernr = pernr-pernr.
    int_rep-ename = pernr-ename.
    int_rep-bankl = bt-bankl.
    int_rep-bankn = bt-bankn.
    int_rep-betrg = bt-betrg.
    int_rep-zlsch = bt-zlsch.
    append int_rep.
    endloop.
    IF P_BANKL ' ' AND P_ZLSCH ' '.
    DELETE INT_REP WHERE BANKL P_BANKL.
    ELSEIF P_BANKL = ' ' AND P_ZLSCH ' '.
    DELETE INT_REP WHERE ZLSCH P_ZLSCH.
    ELSEIF P_BANKL ' ' AND P_ZLSCH = ' '.
    DELETE INT_REP WHERE BANKL P_BANKL.
    ENDIF.
    endform. " IMPORT_BT
    *& Form CONVERT_MONTH
    Fetching Month Text form convert_month using mth t_mth.
    case mth.
    when '01'.
    t_mth = 'January'(023).
    when '02'.
    t_mth = 'February'(024).
    when '03'.
    t_mth = 'March'(025).
    when '04'.
    t_mth = 'April'(026).
    when '05'.
    t_mth = 'May'(027).
    when '06'.
    t_mth = 'June'(028).
    when '07'.
    t_mth = 'July'(029).
    when '08'.
    t_mth = 'August'(030).
    when '09'.
    t_mth = 'September'(031).
    when '10'.
    t_mth = 'October'(032).
    when '11'.
    t_mth = 'November'(033).
    when '12'.
    t_mth = 'December'(034).
    endcase.
    endform. " CONVERT_MONTH
    *& Form CONVERT_DATE_A
    Fetching Month Text * form convert_date_a using mth_t t_mth_t.
    case mth_t.
    when '01'.
    t_mth_t = 'Jan.'(035).
    when '02'.
    t_mth_t = 'Feb.'(036).
    when '03'.
    t_mth_t = 'Mar.'(037).
    when '04'.
    t_mth_t = 'Apr.'(038).
    when '05'.
    t_mth_t = 'May.'(039).
    when '06'.
    t_mth_t = 'Jun.'(040).
    when '07'.
    t_mth_t = 'Jul.'(041).
    when '08'.
    t_mth_t = 'Aug.'(042).
    when '09'.
    t_mth_t = 'Sep.'(043).
    when '10'.
    t_mth_t = 'Oct.'(044).
    when '11'.
    t_mth_t = 'Nov.'(045).
    when '12'.
    t_mth_t = 'Dec.'(046).
    endcase.
    endform. " CONVERT_DATE_A
    *& Form VALIDATE
    text
    --> p1 text
    <-- p2 text form validate .
    if p_bankl <> ' ' and p_zlsch ' '.
    delete int_rep where bankl p_bankl.
    elseif p_bankl = ' ' and p_zlsch ' '.
    delete int_rep where zlsch p_zlsch.
    elseif p_bankl ' ' and p_zlsch = ' '.
    delete int_rep where bankl p_bankl.
    endif.
    endform. " VALIDATE
    check this weblog.....
    /people/dj.adams/blog/2003/11/13/food-for-thought-ldbs-and-abap-objects
    Also , check the following link too.
    http://www.datamanagementgroup.com/Resources/Articles/Article_1005_2.asp
    Regards,
    Harish

  • Get data from PNPCE LDB in ABAP hr

    Hi all,
    I am workng on ABAP Hr.In it I am using PNPCE LDB, when I
    use GET PERNR statement  it don't give any syntax problem but the selection screen does not generate due to GET PERNR statement.
    Is there any Other statement to find the PERNR.
    Points will be sured for valuable answers.
    Thanks
    Sanket sethi

    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'.LdB's for HR are as follows:
    PA----
    PNP
    Payroll----
    PNPCE
    Recruitment -
    PAP
    Orgmanagement -
    PCH
    PA report Example in attrubutes u have to add LDB is PNPCE
    REPORT ZHR_TEST.
    Type-Pools *
    TYPE-POOLS : slis.
    Nodes *
    NODES: person,group,peras.
    Tables *
    TABLES: pernr,t512w,tfkbt,pa0022,pa0016,bkpf.
    Infotypes *
    INFOTYPES : 0000, "Actions
                         0001, "Org Details
                         0022, "Education Details
                         0041, "Date Specification
                         0002, "Personal Details
                         0016.
    Internal Tables *
    DATA :BEGIN OF t_output OCCURS 0,
               pernr TYPE pernr_d, " Personnel No.
               ename TYPE emnam, " Employee Name
               btrtl TYPE btrtl, "Personnel Subarea
               btext TYPE btext, "Personnel Subarea Text
               persk TYPE persk, "Grade
               ptext TYPE pktxt, "gradeText
    END OF t_output.
    DATA: t_fcat TYPE slis_t_fieldcat_alv.
    ALV Variable
    DATA : w_fieldcat TYPE slis_t_fieldcat_alv,
                wa_fieldcat TYPE slis_fieldcat_alv.
    Event : GET Pernr *
    GET peras.
    PERFORM read_data. "Data Selection
    Event : End-Of-Selection *
    END-OF-SELECTION.
    PERFORM f_addcat. "Field Cat
    PERFORM f_display. "Display
    *& Form read_data
    FORM read_data.
    *Organizational Assignment
    rp_provide_from_last p0001 space pn-begda pn-endda.
    IF pnp-sw-found EQ 1.
    t_output-pernr = p0001-pernr.
    t_output-ename = p0001-ename.
    t_output-btrtl = p0001-btrtl.
    t_output-persk = p0001-persk.
    *Personal sub area text
    SELECT SINGLE btext FROM t001p
    INTO t_output-btext
    WHERE btrtl = t_output-btrtl.
    *Grade text
    SELECT SINGLE ptext FROM t503t
    INTO t_output-ptext
    WHERE persk = t_output-persk AND
    sprsl = 'EN'.
    ENDIF.
    APPEND t_output.
    CLEAR t_output.
    ENDFORM. "
    *& Form f_addcat
    FORM f_addcat .
    *************Filling field catelog here.**************
    *& Form f_display
    FORM f_display.
    *Local Variable
    DATA : lv_repid LIKE sy-repid,
    ls_layout TYPE slis_layout_alv.
    lv_repid = sy-repid.
    ls_layout-zebra = 'X'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = lv_repid
    is_layout = ls_layout
    it_fieldcat = t_fcat
    i_save = 'A'
    TABLES
    t_outtab = t_output
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " f_display

  • HR ABAP - (PNPCE - LDB)

    hi,
       I am using PNPCE-LDB, I want the selection screen o/p as like PNP(selection screen). guide me on this.

    Hi rajesh,
    1. If u want your own screen,
       then just don't define
    TABLES : PERNR.
    (no default screen of the ldb will come)
    2.
    report abc.
    parameters : a type c.
    regards,
    amit m.

  • Get data from PNPCE LDB

    Hi all,
    I am workng on ABAP Hr.In it I am using PNPCE LDB, when I
    use GET PERNR statement it don't give any syntax problem but the selection screen does not generate due to GET PERNR statement.
    Is there any Other statement to find the PERNR.
    Points will be sured for valuable answers.
    Thanks
    Sanket sethi

    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.
    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').

  • BI: PNPCE LDB extractor - cant specify begda & endda

    Hi,
    I tried to create extractor using PNPCE LDB to retrieve wages, but the problem is that I cant change decision date for LDB.
    It is always set up for sy-datum and I cant change it to another interval.
    Can you tell me where is the problem?
    thanx
    Juraj

  • Which Syntax is best to read an infotype using PNPCE LDB ?

    Hi experts,
    Which syntax is best to read an infotype when we use PNPCE LDB.
    Thanks.
    reddy

    Hi Iredy,
    if you need to read an infotype records of the particular employee, you can use Macro RP-READ-INFOTYPE (Parameters: PERNR, INFTY, BEGDA, ENDDA)
    Macro definition you can find in table TRMAC.
    For RP-READ-INFOTYPE is definition as follows:
    RP-READ-INFOTYPE     001     ****************************************
    RP-READ-INFOTYPE     002     * RP-READ-INFOTYPE                     *
    RP-READ-INFOTYPE     003     ****************************************
    RP-READ-INFOTYPE     004     * PARAMETERS:                          *
    RP-READ-INFOTYPE     005     *   PERNR      REQUESTED PERSONALNUMBER*
    RP-READ-INFOTYPE     006     *   INFTY      REQUESTED INFOTYPNUMBER *
    RP-READ-INFOTYPE     007     *   INFTY-TABLE OUTPUT-TABLE LIKE PNNNN*
    RP-READ-INFOTYPE     008     *   BEGDA      REQUESTED INTERVAL-BEGIN*
    RP-READ-INFOTYPE     009     *   ENDDA      REQUESTED INTERVAL-END  *
    RP-READ-INFOTYPE     010     ****************************************
    RP-READ-INFOTYPE     011     *SET DEBUGGING INTERRUPT ON            *
    RP-READ-INFOTYPE     012     PERFORM READ-INFOTYPE(SAPDBPNP)        *
    RP-READ-INFOTYPE     013     TABLES &3                      *
    RP-READ-INFOTYPE     014     USING  &1 '&2' &4 &5
    RP-READ-INFOTYPE     015     *SET DEBUGGING INTERRUPT OFF           *
    It means that the macro is performing read-infotype which is defined in  include DBPNPF03 of the SAPDBPNP.

  • Looping payroll results using pnpce ldb

    hii experts,
    Can anybody tell me how can v loop payroll results using pnpce ldb..plz provide me the syntax...or any reference report
    program.

    Hi First Using Get peras event read the RGDIR results as below
    CALL FUNCTION 'CU_READ_RGDIR'
        EXPORTING
          persnr          = p_pernr
        IMPORTING
          molga           = p_molga
        TABLES
          in_rgdir        = p_rgdir
        EXCEPTIONS
          no_record_found = 1
          OTHERS          = 2.
    Get the Cluster ID based on the molga value of the employee using T5001 table
    Then Based on the RGDIR results loop retrive the payroll results below
        LOOP AT gt_rgdir INTO wa_rgdir WHERE fpbeg LE wa_dates-endda AND fpend GE wa_dates-endda
                            AND srtza EQ c_a
                            AND payty EQ c_space.
      CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
            EXPORTING
              clusterid                    = wa_t500l-relid
              employeenumber               = pernr-pernr
              sequencenumber               = wa_rgdir-seqnr
              read_only_international      = 'X'
            CHANGING
              payroll_result               = gt_result
            EXCEPTIONS
              illegal_isocode_or_clusterid = 1
              error_generating_import      = 2
              import_mismatch_error        = 3
              subpool_dir_full             = 4
              no_read_authority            = 5
              no_record_found              = 6
              versions_do_not_match        = 7
              error_reading_archive        = 8
              error_reading_relid          = 9
              OTHERS                       = 10.

  • PNPCE  LDB Related

    Hi,
    I am using PNPCE LDB for one Report.
    I am giving PERSONID(central personnumber) in selection screen then i am getting correct output.
    When i dont give input in selection screen  then need to select total data means total PERSONID's .
    But i am not getting that.
    Is there any problem behind that?
    Can you please provide some inputs on this
    Thanks in Advance
    Regards
    Sandeep

    We are using  HR-Report category PNPCEALL which includes all selection criteria. We had a varient for which reporting period is all and employee status is active. When we r giving direct single Personid we r getting otput which is included in this varient. But when we r not giving any personid i.e it should work for all pernrs. But its not happening.

  • How to create report category for PNPCE ldb in ECC 6.0

    Hi Experts,
    How to create report category for the LDB pnpce in ECC6.0
    Thanks in Advance,
    Regards,
    IFF

    Self-Answered.

  • PNPCE LDB search help shows all action types?

    Hi All!
    I use pnpce in my program. Want to select all vacations in 302 infotype.
    By "search help" button i use "HR Master Record: Infotype 0302 (Additional Actions)" sh.
    P* structures (such p0298, p0302) filles up with ALL "Action types" - not only with "V7" which i specified.
    Tell me pls why?
    Thanks fo ideas!!
    Edited by: Julius Bussche on Dec 29, 2008 11:01 AM

    Hi,
    I understood from the qn that you have used PNPCE as LDB.You want to select some specific action from F4 help in input.That is not getting populated.
    Sometimes, entry might be restricted for hits.After pressing F4, make the maximum no. of hits as blank.

  • Macros for PNPCE LDB.

    Hi,
    I am currently working on a program that uses PNP LDB.I want to use PNPCE instead of PNP in order to improve the performance of the program.
    Will the macros defined in the current program for PNP work for PNPCE also?If not then how can I get the macros for the same functionality for PNPCE?
    When I tried to change PNP to PNPCE, but made no changes to the macros, then I got an error that "space" is not recognized.Could you please help me understand how to solve the problem?
    Thanks.
    Sandeep.

    Hi,
    pelase go to transaction SE36
    enter PNPCE as LDB
    Read the available documentation.
    Macros in PNCE must be written with _ instead of -.
    And if you only want to have the new features like better selection screen but you do not need CE, let your report run in PNP-mode (more details in the documentation)
    Kind regards,
    Michael

  • Macros & PNPCE LDB

    Hi,
    I am currently working on a program that uses PNP LDB.I want to use PNPCE instead of PNP in order to improve the performance of the program.
    Will the macros defined in the current program for PNP work for PNPCE also?If not then how can I get the macros for the same functionality for PNPCE?
    When I tried to change PNP to PNPCE, but made no changes to the macros, then I got an error that "space" is not recognized.Could you please help me understand how to solve the problem?
    Thanks.
    Sandeep.

    Below are the macros for PNPCE:
    For validity period : 1. RP_SET_DATA_INTERVAL_INFTY,
                                 2. RP_SET_DATA_INTERVAL,
                                 3. RP_SET_DATA_INTERVAL_ALL
    For Mode Change: 1. PNP_SET_INFTY_MODE_BY_NAME
                                2. PNP_SET_INFTY_MODE_BY_NUMBER

  • Hi this pandu can i know what is the diff between pnp &pnpce ldb

    hi,
       this pandu can i know what is the diff between pnp &pnpce logical database.
    thanks and regards,
    pandu.

    pretty much the same.. except that PNPCE has additional functionality to deal with Concurrent Employment.. PL go through <a href="http://help.sap.com/saphelp_erp2005/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/frameset.htm">SAP Help</a> for more info.
    ~Suresh

  • SAP Query PNPCE LDB with additional table.

    Hi ABAP Gurus,
    I am developing a SAP Query.
    I have created an infoset with the custom infotype 9050 and added the table ZPA9050 into the Infoset.
    The fields of ZPA9050 is not available as selection fields when I try to Query through SQ01.
    (How do I input values to the ZPA9050 fields? A checkbox for making a Selection field is not available in the Query (SQ01).
    For every pa9050 entry there exist multiple records of ZPA9050. I need to display the pa9050 fields in the 1st row and the corresponding zpa9050 fields in the subsequent rows.
    What needs to be done in order to get them as Selection fields (Input Fields)
    A quick reply is highly appreciated.
    Useful answers will be rewarded.
    Thanks
    Pradeep

    Hello,
    at the time of cretaing INFOSET using transaction SQ02. You can click on the Extra button nad than on the selection tab to add some fields on the selection screen.
    Reward if useful
    Mohit

Maybe you are looking for

  • Newb question: How do you create a new wiki page?

    I've found out how to make Belkin F6 series USB wireless dongles work in Arch. A wiki page would be of much help for people with these devices! I've written it out in the forums already: https://bbs.archlinux.org/viewtopic.php - 10#p800110 But a more

  • IMac Boot to an External Monitor Instead of Main Screen

    Hi, I have an external monitor connected to my iMac. I am currently mirroring my desktop. However, I was wondering if anyone knows of a way to have the iMac use the external lcd monitor as the primary display? Also, is there a way to tell the iMac to

  • HT204291 Can you use Airplay when your when your Airport extreme is a bridge?

    I have ATT Uverse and I cannot get my Airport extreme to work as the main router.  So I want to know if I can airplay through the ATT router or set my Airport to a bridge and then airplay.  I am trying to use both my Macbook Pro and Ipad on the Airpl

  • "Always trust content from this publisher" checkbox wanted OFF by default

    If in Windows IE a signed applet ist about to run, the user is prompted for acceptance. If the Java applet is signed with a trusted certificate, the user will still be prompted. However, the option to "Always trust content from this publisher" is ena

  • Help, iphone iOs 5 update went wrong!

    So I finally updated my iphone to iOS 5. Afte update I restored from backup so I kept my files: photos, textmsg etc.. However the system in my phone didn't fuction the way it should have. Like safari wouldn't open. And other bugs. So I decided to re-