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,
~MarkMark,
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.
ThanksHello 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 POWEREDHi,
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 ZhiHello,
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. -
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? -
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. -
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 -
Hi Gurus,
My requirement is to fetch the PERNR using GET PERNR, but when i fetching the records for current date
Eg : PERNR BEGDA AEDTMHi ,
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 -
Hi Experts could you tell me ,
what is diff between pnp-begda pnbegdahiii....
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
-
MacBook Pro OS X 10.8.4 doesn't detect DVI display with clamshell closed
Just got a Dell S2340M monitor, connected by DVI. Works OK (while displays 'mirrored' - didn't have to do that with VGA) while clamshell is open, but the Mac isn't seeing it with the clamshell closed. Tried rebooting, adjusting display settings, et
-
ICloud invites on non-iCloud e-mail address in iCal
Hi all, I'm not sure if this is even possible, or maybe it's very basic functionality.. Anyway, sometimes I receive iCal-created events in my work e-mail, which is just a regular IMAP account at a regular Linux server. Of course, accepting these even
-
What's a good phone that will sync with iCal?
I'm in the market for a new phone, but have absolutely no desire to switch to AT&T, so the iPhone is out. (Sob!) I really want to be able to sync with iCal, with support for alarms so I don't forget stuff. (I also want to sync with Address Book.) Can
-
I have a 60G classic with a non-functioning center select button. Can I set a specific playlist and change settings by hooking up to my PC and then maintain those settings and that playlist once I go remote?
-
Is SAF required for ICSS?
Hi, I was wondering whether anyone would know whether you need to install the Software Agent Framework (SAF) if we wanted to use the SOlution Search and FAQs in the Internet Customer Self Service (ICSS) scenario? We are using CRM 4.0 SIE and underst