Rp_set_data_interval 'P0014' pn-begda pn-endda.

Hi,
Could you please tell me the diffrence of data retrival of infotype p0014 by get prenr and by using the macro:rp_set_data_interval 'P0014' pn-begda pn-endda..
Thanks,
Suresh

>
suresh kumar wrote:
> Hi,
>
> Could you please tell me the diffrence of data retrival of infotype p0014 by get prenr and by using the macro:rp_set_data_interval 'P0014' pn-begda pn-endda..
>
>
>
> Thanks,
> Suresh
Hi Suresh,
  If you use this macro rp_set_data_interval 'P0014' pn-begda pn-endda'P0014' pn-begda pn-endda then the GET PERNR event only retrives the valid IT0014 records in the period pn-begda, pn-endda.
If you don't use the macro rp_set_data_interval 'P0014' pn-begda pn-endda then the GET PERNR event retrieves all the available IT0014 records even if they are not valid in the interval pn-begda and pn-endda.
Note: The macro rp_set_data_interval should be included in the START-OF-SELECTION event

Similar Messages

  • Rp_provide_from_last p2001 space pn-begda pn-endda

    Hi Guru's,
    I  am  using  PNP as LDB and after ,
    My  requirement  is to  fetch  the records from p2001 for a specific time period mentioned in the selection screen.
    Code :
    Get  Perner.
    rp_provide_from_last p2001 space pn-begda pn-endda.
    the output   of the above is  giving  all  the data from  P2001 irrespective of the dates (Pn-begda & pn-endda.)
    But  i want  the data with in the dates (Pn-begda & pn-endda.).
    Plz suggest.
    Thanks.

    Hi,
      PROVIDE * FROM P2001
      BETWEEN Pnpbegda AND Pnpendda.
       write: p2001-pernr,p2001-begda.
      ENDPROVIDE.
    use this code..........
    Regards,
    vamshidhar .
    Edited by: vamshi naini on Apr 23, 2008 2:06 PM

  • Rp_provide_from_last infotype subtype pn-begda pn-endda.

    Hi All,
    Is there a way to find out if a subtype exists before using this macro. If a subtype does not exist then it crashes.
    rp_provide_from_last infotype subtype pn-begda pn-endda.
    Thanks,
    ~Mark

    Mark,
    Check the View  V_T591A  - Subtype Characteristics.
    It will have all Subtypes maintained in your sytem  for infotype.
    Additionally if you want to Use the Macro for an Infotype without Subtype, Pass SPACE instead of Subtype.
    RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
    Hope this helps.
    Vinodh Balakrishnan
    Edited by: Vinodh Balakrishnan on Jan 15, 2008 3:19 PM

  • Rp-provide-from-last p0002 space pn-begda pn-endda.

    Hello Gurus,
    I need to know what is the sintax to get a particular person from PNP using
    rp-provide-from-last p0002 space pn-begda pn-endda.
    Thanks

    Hello Enrique,
    Check this code, if the sy-subrc as equal 2, employee is inactive:
    *&      Form  check_pernr_exists
    *       Check if employee exists
    *      -->P_PERNR    Personnel Number
    *      <--P_SUBRC    Return code
    FORM check_pernr_exists USING p_pernr TYPE any
                            CHANGING p_subrc TYPE sysubrc.
      CLEAR p_subrc.
      CALL FUNCTION 'RP_CHECK_PERNR'
        EXPORTING
          beg                     = sy-datum
          pnr                     = p_pernr
    *   IMPORTING
    *     NAME                    =
    *     PERSA                   =
    *     BUKRS                   =
    *     KOSTL                   =
    *     MOLGA                   =
    *     PERSONNEL_SUBAREA       =
        EXCEPTIONS
          data_fault              = 1
          person_not_active       = 2
          person_unknown          = 3
          exit_fault              = 4
          pernr_missing           = 5
          date_missing            = 6
          OTHERS                  = 7
      IF sy-subrc <> 0.
        p_subrc = sy-subrc.
      ENDIF.
    ENDFORM.                    "check_pernr_exists

  • HR - PNPbegda/PNPendda ......PN-begda/PN-endda

    Hi,
    I am going through some of the sample codes on internet. While querying on any infotype table I find that  begin date/ end date on selection screen is referred as PNPbegda/PNPendda some times and PN-begda/PN-endda some times. Is there any some reason for this? what is the difference between use of these in two different ways?
    Thanks
      SDN POWERED

    Hi,
    pnpbegda and pnpendda refer to the date fields on the selection screen.
    when you use macros like RP_PROVIDE_FROM_FRST and
    RP_PROVIDE_FROM_LAST you can see the pn-begda and pn-endda.
    That means during the program pnpbegda and pnpendda are
    assigned to pn-begda and pn-endda.
    Ex: RP_PROVIDE_FROM_FRST p0001 space pn-begda pn-endda.
    you can change pn- begda and pn-endda values.
    Ex: pn-begda = '20080101'.
          pn-endda = '20081231'.
    Ex: RP_PROVIDE_FROM_LAST p0001 space pn-begda pn-endda.
    you can directly use the dates even.
    EX:RP_PROVIDE_FROM_LAST p0001 space '20080101' '20081231'.
    For better understanding go through the programs
    SAPDBPNP and SAPDBPNPCE.

  • Updating HRP infotype's begda and endda fields using RH_PNNNN_MAINTAIN.

    hi all,
            I want to change the begda and endda fields in hrpXXXX infotype tables, but use the functiom module RH_PNNNN_MAINTAIN in dialog mode, the begda and endda fields can not be edited.
    can we change these things using this FM?
    or are there any other FMs can make this?
    thanks,
    Huai Zhi

    Hello,
    Use in this way
      CALL FUNCTION 'RH_PNNNN_MAINTAIN'
           EXPORTING
                ACT_FCODE          = ACT_FCODE
                ACT_PLVAR          = IPLOG-PLVAR
                ACT_OTYPE          = IPLOG-OTYPE
                ACT_OBJID          = IPLOG-OBJID
                ACT_INFTY          = IPLOG-INFTY
                ACT_SUBTY          = IPLOG-SUBTY
                ACT_ISTAT          = IPLOG-ISTAT
                ACT_BEGDA          = IPLOG-BEGDA
                ACT_ENDDA          = IPLOG-ENDDA
                ACT_PNNNN          = IPLOG
                SUPPRESS_DIALOG    = '1'
           IMPORTING
                ACT_OK_CODE        = OUT_FCODE
                ACT_PNNNN_OUT      = IPLOG
           EXCEPTIONS
                INFTY_NOT_VALID    = 01
                NO_PLVAR           = 02
                OBJECT_NOT_DEFINED = 03
                OTYPE_NOT_VALID    = 04.

  • Begda and endda missing

    Dear experts,
    I'm making HR reports and noticed that i could only retrieve data from the current month and year. I did some problemsearching and discovered that my begda and endda infotypes aren't present in my HeadCount and Personnel Actions cube in BW.
    My question to you:
    Is there a way i can still access these infotypes for my query?
    or do i need to remake my cube?(if so, how?)

    Hi,
    Thanks Atish...
    I'm creating a custom infotype which has to be populated from more than one infotype..
    So in that dynamic action i've to check the values of begda and endda in a module... for that i don't want to include the structures of all the infotypes from which the custom infotype is going to be populated.
    I want to fetch the values of begda and endda from some other table..
    Got it my friend?

  • Macro Doubt

    Hi All,
    Please anyone can explain me about these three MACROs of functions i mean to say what these macros into , and how it will work , for what we will use this macros.
    these things i wanted to know
    rp_set_data_interval 'P0014' pn-begda pn-endda.
    rp_provide_from_last p0001 space pn-begda pn-endda.
    rp-read-t001p p0001-werks p0001-btrtl space.
    Thanks in Advance
    Sheethal.

    Some more info on Macros...
    Macro contains some part of source code which will be useful for no.of applications. You can get the list of macros in the table TRMAC.
    Whenever you are using the macros ,check whether you have included the relevant logical database in program attributes.
    Macros can also be defined as TRMAC macros. The source code of these modules is stored in the function section of the control table TRMAC. This code is grouped under a specific name in the table key. According to conventions, the first two letters of the name must stand for the application. The rest of the name is freely definable.
    Customer-specific macro modules should begin with a special character. The macros defined in the control table TRMAC can be used by all reports.

  • No Filtering  while using PNP DB

    HI all,
    I am using PNP DB to get the HR data...
    I m giving the data range in the std selection screen ...
    but it is not filtering the data on the basis of data range....
    it is giving all the data which are present in the DB...
    plz help me in trobleshooting the problemm....
    thnx
    Rohit

    >
    Rohit Kumar wrote:
    > Thnx for replying SK....
    > my code is like this...
    >
    > INFOTYPES: 0000, "Action
    >            0001,
    >            0002, "Personal Data
    >            0006, "Address
    >            0008,
    >            1001,
    >            0105, "Communication
    >            0041. "Date Specification
    > *           9000.
    > *----
    > * TABLES
    > *----
    > TABLES: "pernr,                            "Standard Selections for HR Master Dat
    >         t510,
    >         pa0000,
    >         hrp1001.
    >
    > TYPE-POOLS: slis.
    > -
    > -
    > ..........
    >
    > START-OF-SELECTION .
    > *Fetch Data from LDAP / Active Directory Server for reconcilation
    >   PERFORM get_ldap_data.
    >
    > *Get SAP HR data
    >   rp_set_data_interval 'P0002' PN-BEGDA PN-endda.
    >   rp-set-name-format.
    >
    > GET pernr.
    >   PERFORM get_sap_data.
    >
    > rp_provide_from_last p0002 space PN-BEGDA pn-endda.
    >   IF PNP-SW-FOUND  = 1.
    > * get last name
    >     MOVE p0002-nachn TO g_nachn.
    > *get first name
    >     MOVE p0002-vorna TO g_vorna.
    >   endif.
    >
    > ....do  the selection screen makes any differance....
    >
    > i m using std one.....
    >
    > plz suggest...
    >
    >
    > and amit Gupta ---i am passing the values as shown above....as it is...
    >
    > Edited by: Rohit Kumar on Sep 17, 2008 6:26 PM
    Hi Rohit
      The code is working fine for me, could you please post the values of pn-begda and pn-endda and the data(key fields) returned by LDB into the internal table P0002 and let us know as why you think LDB is not restricting the data. Here is the code that i've tested
    REPORT zytest.
    INFOTYPES: 0000, " Actions
    0001,            " Org Assignment
    0002,            " Personal Data
    0006,            " Address
    0008,            " Basic Pay
    1001,            " Relationships
    0070,            " Court orders
    0105,            " Communication
    0041.            " Date Specification
    *9000.
    *TABLES
    TABLES: pernr, "Standard Selections for HR Master Dat
    t510,
    pa0000,
    hrp1001.
    TYPE-POOLS: slis.
    START-OF-SELECTION .
    *Fetch Data from LDAP / Active Directory Server for reconcilation
    *PERFORM get_ldap_data.
    *Get SAP HR data
      rp_set_data_interval 'P0002' pn-begda pn-endda.
      rp-set-name-format.
    GET pernr.
    *PERFORM get_sap_data.
      rp_provide_from_last p0002 space pn-begda pn-endda.
      IF pnp-sw-found = 1.
    *get last name
    *MOVE p0002-nachn TO g_nachn.
    **get first name
    *MOVE p0002-vorna TO g_vorna.
      ENDIF.REPORT zytest.
    INFOTYPES: 0000, " Actions
    0001,            " Org Assignment
    0002,            " Personal Data
    0006,            " Address
    0008,            " Basic Pay
    1001,            " Relationships
    0070,            " Court orders
    0105,            " Communication
    0041.            " Date Specification
    *9000.
    *TABLES
    TABLES: pernr, "Standard Selections for HR Master Dat
    t510,
    pa0000,
    hrp1001.
    TYPE-POOLS: slis.
    START-OF-SELECTION .
    *Fetch Data from LDAP / Active Directory Server for reconcilation
    *PERFORM get_ldap_data.
    *Get SAP HR data
      rp_set_data_interval 'P0002' pn-begda pn-endda.
      rp-set-name-format.
    GET pernr.
    *PERFORM get_sap_data.
      rp_provide_from_last p0002 space pn-begda pn-endda.
      IF pnp-sw-found = 1.
    *get last name
    *MOVE p0002-nachn TO g_nachn.
    **get first name
    *MOVE p0002-vorna TO g_vorna.
      ENDIF.

  • Infotype Overview

    We are using report RPLINFC0 to display all the infotypes maintained against an employee. Client wants this report for a range of Personnel numbers. Is there any standard report which displays all the infotypes maintained against a range of Personnel numbers ??

    I think help you.
    Please, try using this report. OBS--> this report have use logical database PNP.
    this program displays information in different levels of various standard infotypes, Here we use it to hold conference of load.
    Good luck!
    Best regards!
    Marcello!
    *& Report  ZHRR0059
    REPORT  zhrr0059.
       Nodes
    NODES: pernr.
       Infotypes
    INFOTYPES: 0000,"Medidas
               0001,"Atribuição organizacional
               0002,"Dados pessoais
               0003,"Status cálculo FP
               0004,"Deficiências
               0006,"Endereços
               0007,"Tempo de trabalho teórico
               0050,"Informação de registro de tempos
               0008,"Remuneração base
               0009,"Dados bancários
               0014,"Remunerações/deduções periódicas
               0015,"Pagamento complementar
               0016,"Elementos do contrato
               0021,"Família/pessoa de referência
               0041,"Especificações da data
               0057,"Afiliações
               0167,"Planos do seguro saúde
               0168,"Planos de seguro
               0171,"Área de Benefícios
               0377,"Outros planos
               0410,"Vale transporte,"BR
               0465,"Carga de Documentos,"PIS
               0736,"Pensão alimentícia,"Brasil
               0737."Pensão alimentícia,"Brasil
       ALV Work area
    TYPE-POOLS: kkblo, slis.
    DATA: gh_listheader TYPE slis_t_listheader,
          gh_fieldcat   TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          gh_sort       TYPE slis_t_sortinfo_alv WITH HEADER LINE,
          gh_events     TYPE slis_t_event.
    DATA: gw_listheader TYPE slis_listheader.
    DATA: gw_layout     TYPE slis_layout_alv.
    DATA: gc_save          TYPE c.
    DATA: t_header         TYPE kkblo_t_listheader,
          v_repid          LIKE sy-repid,
          w_print          TYPE slis_print_alv,
          t_layout_alv     TYPE slis_layout_alv,
          w_layout_alv     LIKE t_layout_alv,
          t_fieldcat_alv   TYPE slis_t_fieldcat_alv,
          w_fieldcat_alv   TYPE slis_fieldcat_alv,
          t_special_groups TYPE slis_t_sp_group_alv,
          w_grid_settings  TYPE lvc_s_glay,
          t_events         TYPE slis_t_event,
          w_variant        TYPE disvariant,
          v_save(1)        TYPE c.
    TYPES: BEGIN OF y_table,
            pernr LIKE pskey-pernr,
            infty LIKE pskey-infty,
            subty LIKE pskey-subty,
            endda LIKE pskey-endda,
            begda LIKE pskey-begda,
            message LIKE bapireturn1-message,
           END OF y_table.
    To store information to be displayed
    DATA: it_geninfo TYPE y_table OCCURS 0 WITH HEADER LINE.
       Global variables
    DATA: w_textc(15) TYPE c," TYPE slis_fieldname,
          w_textl(30) TYPE c." LIKE dd03p-reptext.
      Get PERNR
    GET pernr.
      PERFORM z_mainline.
    End-of-selection
    END-OF-SELECTION.
    Build ALV Grid
      PERFORM z_build_alv_grid.
    *&      Form  z_build_alv_grid
    FORM z_build_alv_grid .
    Final check
      PERFORM z_check_data_found.
    Build header
      PERFORM build_header.
    Build colls
      PERFORM build_colls.
    Start ALV BAPI
      PERFORM start_bapi_alv.
    ENDFORM.                    " z_build_alv_grid
    *&      Form  z_check_data_found
    FORM z_check_data_found .
      IF it_geninfo[] IS INITIAL.
        MESSAGE s016(pg) WITH text-002."No data found for the values entered
        STOP.
      ENDIF.
    ENDFORM.                    " z_check_data_found
    *&      Form  start_bapi_alv
    FORM start_bapi_alv .
      PERFORM z_group_fields.
      CALL FUNCTION 'K_KKB_SAVE_MODE_GET'
        IMPORTING
          e_save = gc_save.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = sy-repid
          i_callback_top_of_page   = 'TOP_OF_PAGE'
          it_fieldcat              = gh_fieldcat[]
          it_sort                  = gh_sort[]
          i_default                = sy-abcde+23(1)
          i_save                   = gc_save
          it_events                = gh_events[]
          i_callback_user_command  = 'AT_USER_COMMAND'
          is_layout                = gw_layout
          i_callback_pf_status_set = 'ZF_STATUS'
        TABLES
          t_outtab                 = it_geninfo
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    ENDFORM.                    " start_bapi_alv
    *&      Form top_of_page
    FORM top_of_page .                                          "#EC CALLED
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gh_listheader.
    ENDFORM.          "z_top_of_page
    *&      Form  build_colls
    FORM build_colls .
      CLEAR gh_fieldcat.
      gh_fieldcat-fieldname    = 'PERNR'.
      gh_fieldcat-reptext_ddic = 'Nro Pessoal'.
      gh_fieldcat-tabname      = 'IT_GENINFO'.
      gh_fieldcat-inttype      = 'N'. "
      gh_fieldcat-outputlen    = 10.
      APPEND gh_fieldcat.
      CLEAR gh_fieldcat.
      gh_fieldcat-fieldname    = 'INFTY'.
      gh_fieldcat-reptext_ddic = 'Infotipo'.
      gh_fieldcat-tabname      = 'IT_GENINFO'.
      gh_fieldcat-inttype      = 'C'. "
      gh_fieldcat-outputlen    = 8.
      APPEND gh_fieldcat.
      CLEAR gh_fieldcat.
      gh_fieldcat-fieldname    = 'SUBTY'.
      gh_fieldcat-reptext_ddic = 'Subinfotipo'.
      gh_fieldcat-tabname      = 'IT_GENINFO'.
      gh_fieldcat-inttype      = 'C'. "
      gh_fieldcat-outputlen    = 8.
      APPEND gh_fieldcat.
      CLEAR gh_fieldcat.
      gh_fieldcat-fieldname    = 'ENDDA'.
      gh_fieldcat-reptext_ddic = 'Fim da validade'.
      gh_fieldcat-tabname      = 'IT_GENINFO'.
      gh_fieldcat-inttype      = 'D'. "
      gh_fieldcat-outputlen    = 12.
      APPEND gh_fieldcat.
      CLEAR gh_fieldcat.
      gh_fieldcat-fieldname    = 'BEGDA'.
      gh_fieldcat-reptext_ddic = 'Início da validade'.
      gh_fieldcat-tabname      = 'IT_GENINFO'.
      gh_fieldcat-inttype      = 'D'. "
      gh_fieldcat-outputlen    = 12.
      APPEND gh_fieldcat.
      CLEAR gh_fieldcat.
      gh_fieldcat-fieldname    = 'MESSAGE'.
      gh_fieldcat-reptext_ddic = 'Mensagem'.
      gh_fieldcat-tabname      = 'IT_GENINFO'.
      gh_fieldcat-inttype      = 'C'. "
      gh_fieldcat-outputlen    = 50.
      APPEND gh_fieldcat.
    ENDFORM.                    " build_colls
    *&      Form  build_header
    FORM build_header .
      REFRESH gh_listheader.
      CLEAR gw_listheader.
      gw_listheader-typ  = 'S'.
      WRITE sy-datum TO gw_listheader-key.
      APPEND gw_listheader TO gh_listheader.
      CLEAR gw_listheader.
    Get message description
      gw_listheader-typ  = 'S'.
      gw_listheader-key  = sy-cprog.
      gw_listheader-info = text-004.
      APPEND gw_listheader TO gh_listheader.
      CLEAR gw_listheader.
    ENDFORM.                    " build_header
    *&      Form  z_group_fields
    FORM z_group_fields .
      CLEAR: gh_sort, gh_sort[].
      MOVE 1         TO gh_sort-spos.
      MOVE 'PERNR'  TO gh_sort-fieldname.
      MOVE 'X'      TO gh_sort-group.
      MOVE 'X'      TO gh_sort-up.
      APPEND gh_sort.
      MOVE 2         TO gh_sort-spos.
      MOVE 'INFTY' TO gh_sort-fieldname.
      MOVE 'X'      TO gh_sort-group.
      MOVE 'X'      TO gh_sort-up.
      APPEND gh_sort.
      MOVE 3         TO gh_sort-spos.
      MOVE 'SUBTY' TO gh_sort-fieldname.
      MOVE 'X'      TO gh_sort-group.
      MOVE 'X'      TO gh_sort-up.
      APPEND gh_sort.
    ENDFORM.                    " z_group_fields
    *&      Form  Z_MAINLINE
          MainLine
    FORM z_mainline .
      CLEAR: p0000, it_geninfo.
      rp-provide-from-last p0000 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0000 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0000'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0001, it_geninfo.
      rp-provide-from-last p0001 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0001 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0001'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0002, it_geninfo.
      rp-provide-from-last p0002 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0002 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0002'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0003, it_geninfo.
      rp-provide-from-last p0003 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0003 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0003'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0004, it_geninfo.
      rp-provide-from-last p0004 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0004 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0004'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0006, it_geninfo.
      rp-provide-from-last p0006 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0006 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0006'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0007, it_geninfo.
      rp-provide-from-last p0007 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0007 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0007'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0050, it_geninfo.
      rp-provide-from-last p0050 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0050 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0050'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0008, it_geninfo.
      rp-provide-from-last p0008 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0008 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0008'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0009, it_geninfo.
      rp-provide-from-last p0009 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0009 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0009'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0014, it_geninfo.
      rp-provide-from-last p0014 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0014 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0014'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0015, it_geninfo.
      rp-provide-from-last p0015 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0015 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0015'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0016, it_geninfo.
      rp-provide-from-last p0016 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0016 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0016'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0021, it_geninfo.
      rp-provide-from-last p0021 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0021 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0021'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0041, it_geninfo.
      rp-provide-from-last p0041 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0041 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0041'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0057, it_geninfo.
      rp-provide-from-last p0057 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0057 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0057'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0000, it_geninfo.
      rp-provide-from-last p0167 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0167 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0167'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0168, it_geninfo.
      rp-provide-from-last p0168 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0168 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0168'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0171, it_geninfo.
      rp-provide-from-last p0171 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0171 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0171'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0377, it_geninfo.
      rp-provide-from-last p0377 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0377 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0377'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0410, it_geninfo.
      rp-provide-from-last p0410 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0410 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0410'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0465, it_geninfo.
      rp-provide-from-last p0465 '0001' pn-begda pn-endda.
      IF p0465-subty EQ '0001'.
        MOVE-CORRESPONDING p0465 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0465'.
        it_geninfo-subty = '0001'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0465, it_geninfo.
      rp-provide-from-last p0465 '0002' pn-begda pn-endda.
      IF p0465-subty EQ '0002'.
        MOVE-CORRESPONDING p0465 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0465'.
        it_geninfo-subty = '0002'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0465, it_geninfo.
      rp-provide-from-last p0465 '0003' pn-begda pn-endda.
      IF p0465-subty EQ '0003'.
        MOVE-CORRESPONDING p0465 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0465'.
        it_geninfo-subty = '0003'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0465, it_geninfo.
      rp-provide-from-last p0465 '0006' pn-begda pn-endda.
      IF p0465-subty EQ '0006'.
        MOVE-CORRESPONDING p0465 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0465'.
        it_geninfo-subty = '0006'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0736, it_geninfo.
      rp-provide-from-last p0736 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0736 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0736'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
      CLEAR: p0737, it_geninfo.
      rp-provide-from-last p0737 '    ' pn-begda pn-endda.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING p0737 TO it_geninfo.
        MOVE 'Registro encontrado' TO it_geninfo-message.
      ELSE.
        MOVE-CORRESPONDING pernr TO it_geninfo.
        it_geninfo-infty = '0737'.
        MOVE 'Registro inexistente' TO it_geninfo-message.
      ENDIF.
      APPEND it_geninfo.
    ENDFORM.                    " Z_MAINLINE
    *&      Form  ZF_STATUS
    FORM zf_status USING rt_extab TYPE slis_t_extab.
      DATA: wt_extab TYPE slis_extab.
      CONSTANTS cc_vexcel LIKE wt_extab-fcode VALUE '&VEXCEL'.
      CONSTANTS cc_sorta LIKE wt_extab-fcode VALUE '&OUP'.
      CONSTANTS cc_sortd LIKE wt_extab-fcode VALUE '&ODN'.
      CLEAR: wt_extab.
      wt_extab-fcode = cc_vexcel.
      APPEND wt_extab TO rt_extab.
      wt_extab-fcode = cc_sorta.
      APPEND wt_extab TO rt_extab.
      wt_extab-fcode = cc_sortd.
      APPEND wt_extab TO rt_extab.
      SET PF-STATUS 'STANDARD_FULLSCREEN' EXCLUDING rt_extab.
    ENDFORM.                    "ZF_STATUS
    *&      Form  AT_USER_COMMAND
    FORM at_user_command USING ucomm LIKE sy-ucomm
                               selfield TYPE kkblo_selfield.
      CLEAR: it_geninfo.
      CASE ucomm.
        WHEN '&IC1'.
          CHECK selfield-tabindex NE 0.
          READ TABLE it_geninfo INDEX selfield-tabindex.
          CASE it_geninfo-infty.
            WHEN '0000'."Medidas
              CLEAR p0000.
              REFRESH p0000.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0000
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0000'
                TABLES
                  t_outtab                 = p0000
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0001'."Atribuição organizacional
              CLEAR p0001.
              REFRESH p0001.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0001
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0001'
                TABLES
                  t_outtab                 = p0001
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0002'."Dados pessoais
              CLEAR p0002.
              REFRESH p0002.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0002
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0002'
                TABLES
                  t_outtab                 = p0002
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0003'."Status cálculo FP
              CLEAR p0003.
              REFRESH p0003.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0003
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0003'
                TABLES
                  t_outtab                 = p0003
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0004'."Deficiências
              CLEAR p0004.
              REFRESH p0004.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0004
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0004'
                TABLES
                  t_outtab                 = p0004
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0006'."Endereços
              CLEAR p0006.
              REFRESH p0006.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0006
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0006'
                TABLES
                  t_outtab                 = p0006
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0007'."Tempo de trabalho teórico
              CLEAR p0007.
              REFRESH p0007.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0007
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0007'
                TABLES
                  t_outtab                 = p0007
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0050'."Informação de registro de tempos
              CLEAR p0050.
              REFRESH p0050.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0050
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0050'
                TABLES
                  t_outtab                 = p0050
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0008'."Remuneração base
              CLEAR p0008.
              REFRESH p0008.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0008
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0008'
                TABLES
                  t_outtab                 = p0008
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0009'."Dados bancários
              CLEAR p0009.
              REFRESH p0009.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0009
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0009'
                TABLES
                  t_outtab                 = p0009
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0014'."Remunerações/deduções periódicas
              CLEAR p0014.
              REFRESH p0014.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0014
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0014'
                TABLES
                  t_outtab                 = p0014
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0015'."Pagamento complementar
              CLEAR p0015.
              REFRESH p0015.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0015
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0015'
                TABLES
                  t_outtab                 = p0015
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0016'."Elementos do contrato
              CLEAR p0016.
              REFRESH p0016.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0016
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0016'
                TABLES
                  t_outtab                 = p0016
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0021'."Família/pessoa de referência
              CLEAR p0021.
              REFRESH p0021.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0021
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0021'
                TABLES
                  t_outtab                 = p0021
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0041'."Especificações da data
              CLEAR p0041.
              REFRESH p0041.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0041
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0041'
                TABLES
                  t_outtab                 = p0041
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0057'."Afiliações
              CLEAR p0057.
              REFRESH p0057.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0057
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0057'
                TABLES
                  t_outtab                 = p0057
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0167'."Planos do seguro saúde
              CLEAR p0167.
              REFRESH p0167.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0167
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0167'
                TABLES
                  t_outtab                 = p0167
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0168'."Planos de seguro
              CLEAR p0168.
              REFRESH p0168.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0168
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0168'
                TABLES
                  t_outtab                 = p0168
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0171'."Área de Benefícios
              CLEAR p0171.
              REFRESH p0171.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0171
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0171'
                TABLES
                  t_outtab                 = p0171
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0377'."Outros planos
              CLEAR p0377.
              REFRESH p0377.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0377
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                  i_callback_top_of_page   = 'TOP_OF_PAGE'
                  i_callback_program       = sy-repid
                  i_callback_pf_status_set = 'ZF_STATUS'
                  i_callback_user_command  = 'CALLBACK'
                  i_structure_name         = 'P0377'
                TABLES
                  t_outtab                 = p0377
                EXCEPTIONS
                  program_error            = 1
                  OTHERS                   = 2.
            WHEN '0410'."Vale transporte,"BR
              CLEAR p0410.
              REFRESH p0410.
              CALL FUNCTION 'HR_READ_INFOTYPE'
                EXPORTING
                  pernr     = it_geninfo-pernr
                  infty     = it_geninfo-infty
                  begda     = it_geninfo-begda
                  endda     = it_geninfo-endda
                TABLES
                  infty_tab = p0410
                EXCEPTIONS
                  OTHERS    = 2.
              CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

  • Why pn-begda and pn-endda not filled ? but pn-begps and pn-endps filled.

    Hi,
    Im using logical database PNP.
    in all my reports, whenever i fillPayroll period, the from date and enddate (pn-begda and pn-endda) is populated for the  given pay period.
    In one of my report, these value (pn-begda and endda) are blank.
    pn-begps and pn-endps is getting filled instead. (Why ? What setting i have to do, to bring pn-benga and pn-endda?)
    Thanks,
    Jhove.

    Hi Jhove,
    BEGPS and ENDPS refer to person selection period (whether a person exists on a specified period) whereas BEGDA and ENDDA refer to data selection period (whether a specific IT record exists in a specified period). Probably in your report person selection period fields are filled whereas data selection period fields are left blank (or these fields even do not exist in your selection screen). Thus, you need to check whether data selection period is available in selection screen and it is filled prior to report execution.
    Best regards,
    Dilek

  • BEGDA & ENDDA missing in InfoPackage selection

    Hi All,
    within my 0EMPLOYEE_ATTR extractor, the infopackage does not contain the BEGDA & ENDDA fields.  they are definately ticked for  'selection' within RSA6.  I have done replication and all other fields seem to be there besides these 2.  Any ideas how i can get them to appear on infopackage for selection?
    Thanks in advance.
    Munaf.

    Hi Munaf,
    I believe that SAP note 310304 explains the problem, to extract time dependent master data you must
    use the fields 'DATETO' and 'DATEFROM'. You can't use BEGDA and ENDDA.
    Please read the "solution" part of the note 310304 it explains what you need to do.
    Best Regards,
    Des Gallagher

  • Fetch PERNR with Future BEGDA

    Hi Gurus,
    My requirement is to fetch the PERNR using GET PERNR, but when i fetching the records for current date
    Eg :  PERNR    BEGDA   AEDTM

    Hi ,
    in your report program in the Attributes Tab provide the Logical Database as PNP and do the following
    *& Tables declaration
    TABLES: PERNR.
    *& Infotypes declaration
    INFOTYPES: 0001,                       " Org Assignment
               0002,                       " Personel Data
               0006,                       " Addresses
               0003 MODE A.                " Payroll status
    *& START-OF-SELECTION EVENT
    START-OF-SELECTION.
    GET PERNR.
    PROVIDE * FROM P0001
              * FROM P0002
              * FROM P0006
        BETWEEN PN-BEGDA AND PN-ENDDA.
      IF P0001_VALID EQ 'X'.
          WRITE:
            / P0001-PERNR, P0001-BEGDA, P0001-ENDDA.
        ENDIF.
    now when u run the report select the date as current date.
    hope this help.... try out
    best of luck!!
    thanks
    Ravi Aswani

  • Pnp-begda pnbegda

    Hi Experts could you tell me ,
    what is diff between  pnp-begda pnbegda

    hiii....
    pnpbegda/pnpendda is the name of the screen field in the selection screen of LDB.
    pn-begda & pn-endda takes the value entered in the sel screen when executed.
    eg.If Reporting Period is today, pnpbegda contains no value whereas pn-begda & pn-endda contains today's date.
    This holds true for Reporting period values like All/Today/Current month etc...wherein you dont need to enter start date & end date.
    In such cases pnpbegda & pnpendda returns null whereas pn-begda pn-endda returns correct value chosen in selection screen.
    Its always better to use pn-begda & pn-endda for reporting .
    Regards,
    Vidya

  • Need help with provide statement in pnp progrm

    hi experts,
    i need to select all the records that :
    1. pa00014-sunty in so_subty.
    base on the records that he found' i need to select from pa0001:
    p0014-endda = > p0001-begda and
    p0014-begda = < p0001-endda and
    p0001-persk ne so_persk.
    what i did:
    provide * from p0001
    from p0014
    between pn-begda and pn-endda
    where p0014-subty = so_subty  and
    p0014-endda = > p0001-begda and
    p0014-begda = < p0001-endda and
    p0001-persk ne so_persk.
    check p0001_valid = 'X'.
    endprovide.
    i got 2 problems:
    1. i not recognize the syntax: check p0001_valid = 'X'.
    2. the syntax for the provide is not good.
    i new in pnp thing.
    i hope i was clear.
    thanks in advanced,
    Michal.

    Hi,
       May be this code will help you.
    infotypes: 0001,0002,0008,0000,1000,0021,0041,0587 .
    PROVIDE ename BTRTL PLANS STELL ORGEH ABKRS FROM P0001 BETWEEN PN-BEGDA AND PN-ENDDA  .
    if p0001-begda = '20070801' .
          IT_FINAL-ORGEH = P0001-ORGEH .
          IT_FINAL-STELL = P0001-STELL .                            "   JOB
          IT_FINAL-PLANS = P0001-PLANS .                            "   POSITION
          IT_FINAL-ename = P0001-ename .                            "   personnel name
          IT_FINAL-BTRTL = P0001-BTRTL .                            "   DEPARTMENT
          IT_FINAL-ABKRS = P0001-ABKRS .                            "   PAYROLL AREA
          APPEND IT_FINAL .
    endif .
    ENDPROVIDE.
    PROVIDE GBDAT GESCH FROM P0002 BETWEEN PN-BEGDA AND PN-ENDDA .
           IT_FINAL-GBDAT = P0002-GBDAT  .                            "   DOB
           IT_FINAL-GESCH = P0002-GESCH  .                            "   ***
         IF IT_FINAL-GESCH = 1   .
           IT_FINAL-GTXT  = 'M'  .
         ELSE.
           IT_FINAL-GTXT  = 'F'  .
         ENDIF .
           APPEND IT_FINAL .
    ENDPROVIDE .
    PROVIDE TRFST FROM P0008 BETWEEN PN-BEGDA AND PN-ENDDA.
            IT_FINAL-TRFST = P0008-TRFST .                          "   personnel level
            APPEND IT_FINAL .
    ENDPROVIDE.
    PROVIDE  FAVOR FANAM FROM P0021 BETWEEN PN-BEGDA AND PN-ENDDA where P0021-pernr = pernr-pernr
      and  p0021-SUBTY = '11' .
           IT_FINAL-FAVOR  = P0021-FAVOR .                          "   FATHER'S NAME
           IT_FINAL-FANAM  = P0021-FANAM .
           CONCATENATE IT_FINAL-FAVOR IT_FINAL-FANAM  INTO IT_FINAL-FNAME .
           APPEND IT_FINAL .
    ENDPROVIDE.
    Regards,
    Himanshu

Maybe you are looking for