Difference between revisions of "SAP HCM ABAP REPORTES"
From SapWiki
| (2 intermediate revisions by the same user not shown) | |||
| Line 29: | Line 29: | ||
==[https://help.sap.com/docs/ERP_HCM_SPV/b52ef0936e7c43c7ba12ce64ee6c32db/53b5e05320a7424de10000000a174cb4.html?version=600_HRSP_N8 Report Programming in HR]== | ==[https://help.sap.com/docs/ERP_HCM_SPV/b52ef0936e7c43c7ba12ce64ee6c32db/53b5e05320a7424de10000000a174cb4.html?version=600_HRSP_N8 Report Programming in HR]== | ||
| + | |||
| + | ==SUBMIT driver de nómina (HCLCALC0)== | ||
| + | <nowiki> | ||
| + | REPORT YHR_PR_HCLCALC0. | ||
| + | INCLUDE lhrplto1. | ||
| + | INCLUDE lhrplto3. | ||
| + | |||
| + | TYPES: BEGIN OF gty_msg, | ||
| + | lfdnum TYPE i, | ||
| + | tlevel TYPE seu_level, | ||
| + | message TYPE plog_cross, | ||
| + | text1 TYPE plog_txt, | ||
| + | tlength1 TYPE plog_len, | ||
| + | tintensiv1 TYPE seu_intens, | ||
| + | text2 TYPE plog_txt, | ||
| + | tlength2 TYPE plog_len, | ||
| + | tintensiv2 TYPE seu_intens, | ||
| + | text3 TYPE plog_txt, | ||
| + | tlength3 TYPE plog_len, | ||
| + | tintensiv3 TYPE seu_intens, | ||
| + | text4 TYPE plog_txt, | ||
| + | tlength4 TYPE plog_len, | ||
| + | tintensiv4 TYPE seu_intens, | ||
| + | empty_lines TYPE emptylines, | ||
| + | END OF gty_msg. | ||
| + | |||
| + | TYPES: BEGIN OF gty_t100_msg, | ||
| + | lfdnum TYPE i, | ||
| + | msgid TYPE symsgid, | ||
| + | msgty TYPE symsgty, | ||
| + | msgno TYPE symsgno, | ||
| + | msgv1 TYPE symsgv, | ||
| + | msgv2 TYPE symsgv, | ||
| + | msgv3 TYPE symsgv, | ||
| + | msgv4 TYPE symsgv, | ||
| + | END OF gty_t100_msg. | ||
| + | |||
| + | TYPES: BEGIN OF gty_class_msg, | ||
| + | lfdnum TYPE i, | ||
| + | class TYPE seoclsname, | ||
| + | parameter TYPE swconttab, | ||
| + | END OF gty_class_msg. | ||
| + | |||
| + | * definition of log_basic | ||
| + | TYPES: BEGIN OF gty_thrpl_log_basic_aper. | ||
| + | INCLUDE TYPE pc2aper AS aper. | ||
| + | TYPES: srtza TYPE srtza, | ||
| + | in_recall TYPE pay_recall_payroll, "XYAn1166656 | ||
| + | no_of_recalls TYPE i, "XYAn1387664 | ||
| + | END OF gty_thrpl_log_basic_aper. | ||
| + | |||
| + | *--------------------------------------------------------------------* | ||
| + | TYPES: BEGIN OF gty_log_basic. | ||
| + | INCLUDE STRUCTURE h_log_basic_key. | ||
| + | TYPES: selection_table TYPE TABLE OF plg99_d_selection_table WITH NON-UNIQUE DEFAULT KEY, | ||
| + | as TYPE TABLE OF plg99_d_as WITH NON-UNIQUE DEFAULT KEY, | ||
| + | aper_tab TYPE STANDARD TABLE OF gty_thrpl_log_basic_aper | ||
| + | WITH DEFAULT KEY, | ||
| + | END OF gty_log_basic. | ||
| + | |||
| + | DATA ls_log_basic TYPE gty_log_basic. | ||
| + | |||
| + | TYPES: BEGIN OF gty_msgtab, | ||
| + | procl TYPE thrpl_log_ref_key-procl, | ||
| + | nopernr TYPE c, | ||
| + | pernr TYPE pcce_pernr, | ||
| + | pos TYPE c, | ||
| + | aper_numb TYPE thrpl_log_ref_key-aper_numb, | ||
| + | loopcount TYPE i, | ||
| + | vblock TYPE c LENGTH 4, | ||
| + | daypr_calls TYPE thrpl_log_ref_key-daypr_calls, | ||
| + | daypr_aper_numb TYPE thrpl_log_ref_key-daypr_aper_numb, | ||
| + | msg TYPE TABLE OF gty_msg WITH NON-UNIQUE DEFAULT KEY, "tt_msg, | ||
| + | t100_pointer TYPE TABLE OF gty_t100_msg WITH NON-UNIQUE DEFAULT KEY, ""tt_t100_msg, | ||
| + | class_exp TYPE TABLE OF gty_class_msg WITH NON-UNIQUE DEFAULT KEY, | ||
| + | END OF gty_msgtab. | ||
| + | |||
| + | DATA: lt_msgtab TYPE TABLE OF gty_msgtab. | ||
| + | |||
| + | * reference-table for payroll-log | ||
| + | TYPES: BEGIN OF gty_log_ref. | ||
| + | INCLUDE TYPE thrpl_log_ref_key AS key. | ||
| + | TYPES: asfunc TYPE TABLE OF d_asfunc WITH NON-UNIQUE DEFAULT KEY, | ||
| + | END OF gty_log_ref. | ||
| + | |||
| + | DATA lt_log_ref TYPE TABLE OF gty_log_ref. | ||
| + | *--------------------------------------------------------------------* | ||
| + | DATA: lt_rspar TYPE TABLE OF rsparams. | ||
| + | DATA ls_rspar LIKE LINE OF lt_rspar. | ||
| + | |||
| + | DATA: BEGIN OF lv_payr_log_mem_key, | ||
| + | uname TYPE syuname, | ||
| + | datum TYPE sydatum, | ||
| + | END OF lv_payr_log_mem_key. | ||
| + | DATA lv_plgmemky(40). | ||
| + | |||
| + | FIELD-SYMBOLS: <msgtab> TYPE any. | ||
| + | FIELD-SYMBOLS: <log_basic> TYPE any. | ||
| + | FIELD-SYMBOLS: <log_ref> TYPE any. | ||
| + | |||
| + | PARAMETERS p_sels AS CHECKBOX. | ||
| + | PARAMETERS p_called AS CHECKBOX. | ||
| + | |||
| + | START-OF-SELECTION. | ||
| + | |||
| + | lv_plgmemky = sy-uname. | ||
| + | lv_plgmemky+12 = sy-datlo. | ||
| + | |||
| + | lt_rspar = VALUE #( | ||
| + | ( selname = 'PRT_PROT' kind = 'P' low = 'X' ) "Visualizar log | ||
| + | ( selname = 'PNPTIMR9' kind = 'P' low = 'X' ) "registro actual | ||
| + | ( selname = 'PNPTIMRA' kind = 'P' low = '' ) "otro registro | ||
| + | ( selname = 'PNPXABKR' kind = 'P' low = 'A1' ) "Agrupador de Proceso | ||
| + | ( selname = 'SCHEMA ' kind = 'P' low = 'ZCL0' ) "Esquema de nómina | ||
| + | ( selname = 'TST_ON' kind = 'P' low = 'X' ) "Proceso de test | ||
| + | ( selname = 'RADI_EDT' kind = 'P' low = 'X' ) | ||
| + | ( selname = 'EDT_VARI' kind = 'P' low = 'RECIBO' ) | ||
| + | ( selname = 'PNPPERNR' kind = 'S' sign = 'I' option = 'EQ' low = '10003536' ) | ||
| + | ( selname = 'PNPABKRS' kind = 'S' sign = 'I' option = 'EQ' low = 'A1' ) | ||
| + | |||
| + | |||
| + | ). | ||
| + | |||
| + | ls_rspar-selname = 'ECALLED'. | ||
| + | ls_rspar-kind = 'P'. | ||
| + | ls_rspar-low = p_called. | ||
| + | APPEND ls_rspar TO lt_rspar. | ||
| + | |||
| + | ls_rspar-selname = 'PLGMEMKY'. | ||
| + | ls_rspar-kind = 'P'. | ||
| + | ls_rspar-low = lv_plgmemky. | ||
| + | APPEND ls_rspar TO lt_rspar. | ||
| + | |||
| + | IF p_sels = 'X'. | ||
| + | SUBMIT HCLCALC0 | ||
| + | VIA SELECTION-SCREEN | ||
| + | WITH SELECTION-TABLE lt_rspar | ||
| + | EXPORTING LIST TO MEMORY | ||
| + | AND RETURN. | ||
| + | ELSE. | ||
| + | SUBMIT HCLCALC0 | ||
| + | WITH SELECTION-TABLE lt_rspar | ||
| + | EXPORTING LIST TO MEMORY | ||
| + | * TO SAP-SPOOL IMMEDIATELY ' ' | ||
| + | * KEEP IN SPOOL 'X' | ||
| + | * WITHOUT SPOOL DYNPRO | ||
| + | AND RETURN. | ||
| + | ENDIF. | ||
| + | |||
| + | TYPES : BEGIN OF ltyp_lista_asci, | ||
| + | texto(500) TYPE c, | ||
| + | END OF ltyp_lista_asci. | ||
| + | |||
| + | DATA list_tab TYPE TABLE OF abaplist. | ||
| + | DATA lt_lista_asci TYPE TABLE OF ltyp_lista_asci. | ||
| + | DATA ls_lista_asci TYPE ltyp_lista_asci. | ||
| + | |||
| + | CALL FUNCTION 'LIST_FROM_MEMORY' | ||
| + | TABLES | ||
| + | listobject = list_tab | ||
| + | EXCEPTIONS | ||
| + | not_found = 1 | ||
| + | OTHERS = 2. | ||
| + | |||
| + | CALL FUNCTION 'LIST_TO_ASCI' | ||
| + | EXPORTING | ||
| + | with_line_break = 'X' | ||
| + | TABLES | ||
| + | listasci = lt_lista_asci | ||
| + | listobject = list_tab | ||
| + | EXCEPTIONS | ||
| + | empty_list = 1 | ||
| + | list_index_invalid = 2 | ||
| + | OTHERS = 3. | ||
| + | |||
| + | IF sy-subrc = 0. | ||
| + | CALL FUNCTION 'WRITE_LIST' | ||
| + | TABLES | ||
| + | listobject = list_tab. | ||
| + | ENDIF. | ||
| + | |||
| + | lv_payr_log_mem_key-uname = sy-uname. | ||
| + | lv_payr_log_mem_key-datum = sy-datum. | ||
| + | CALL FUNCTION 'HR_PL_IMPORT_LOG_FROM_MEMORY' | ||
| + | EXPORTING | ||
| + | mem_key = lv_payr_log_mem_key. | ||
| + | * "Dirty"-Assign globale Variablen (FuGr HR Payrollprotokollierung) | ||
| + | ASSIGN ('(SAPLHRPL)MSGTAB[]') TO <msgtab>. | ||
| + | lt_msgtab[] = <msgtab>. | ||
| + | |||
| + | ASSIGN ('(SAPLHRPL)LOG_BASIC') TO <log_basic>. | ||
| + | MOVE <log_basic> TO ls_log_basic. | ||
| + | |||
| + | ASSIGN ('(SAPLHRPL)LOG_REF[]') TO <log_ref>. | ||
| + | |||
| + | lt_log_ref[] = <log_ref>.</nowiki> | ||
| + | |||
| + | [[Category:Chile]] | ||
Latest revision as of 17:55, 20 June 2026
Programa ejemplo
REPORT YHCM_EX001. * usar base de datos PNP TABLES: pernr. INFOTYPES: 0001,0002,0007,2001,0082. INITIALIZATION. *only select employees who have not left the company when the *report selection screen is displayed. rp-sel-ein-aus-init. RP-SET-DATA-INTERVAL 0001 SY-DATUM SY-DATUM. * rp-set-data-interval 'ALL' low-date pn-endda. START-OF-SELECTION. GET pernr. rp-provide-from-last p0001 space pn-begda pn-endda. rp-provide-from-last p0002 space pn-begda pn-endda. rp-provide-from-last p0007 space pn-begda pn-endda. perform process. END-OF-SELECTION. perform display_alv.
Report Programming in HR
SUBMIT driver de nómina (HCLCALC0)
REPORT YHR_PR_HCLCALC0.
INCLUDE lhrplto1.
INCLUDE lhrplto3.
TYPES: BEGIN OF gty_msg,
lfdnum TYPE i,
tlevel TYPE seu_level,
message TYPE plog_cross,
text1 TYPE plog_txt,
tlength1 TYPE plog_len,
tintensiv1 TYPE seu_intens,
text2 TYPE plog_txt,
tlength2 TYPE plog_len,
tintensiv2 TYPE seu_intens,
text3 TYPE plog_txt,
tlength3 TYPE plog_len,
tintensiv3 TYPE seu_intens,
text4 TYPE plog_txt,
tlength4 TYPE plog_len,
tintensiv4 TYPE seu_intens,
empty_lines TYPE emptylines,
END OF gty_msg.
TYPES: BEGIN OF gty_t100_msg,
lfdnum TYPE i,
msgid TYPE symsgid,
msgty TYPE symsgty,
msgno TYPE symsgno,
msgv1 TYPE symsgv,
msgv2 TYPE symsgv,
msgv3 TYPE symsgv,
msgv4 TYPE symsgv,
END OF gty_t100_msg.
TYPES: BEGIN OF gty_class_msg,
lfdnum TYPE i,
class TYPE seoclsname,
parameter TYPE swconttab,
END OF gty_class_msg.
* definition of log_basic
TYPES: BEGIN OF gty_thrpl_log_basic_aper.
INCLUDE TYPE pc2aper AS aper.
TYPES: srtza TYPE srtza,
in_recall TYPE pay_recall_payroll, "XYAn1166656
no_of_recalls TYPE i, "XYAn1387664
END OF gty_thrpl_log_basic_aper.
*--------------------------------------------------------------------*
TYPES: BEGIN OF gty_log_basic.
INCLUDE STRUCTURE h_log_basic_key.
TYPES: selection_table TYPE TABLE OF plg99_d_selection_table WITH NON-UNIQUE DEFAULT KEY,
as TYPE TABLE OF plg99_d_as WITH NON-UNIQUE DEFAULT KEY,
aper_tab TYPE STANDARD TABLE OF gty_thrpl_log_basic_aper
WITH DEFAULT KEY,
END OF gty_log_basic.
DATA ls_log_basic TYPE gty_log_basic.
TYPES: BEGIN OF gty_msgtab,
procl TYPE thrpl_log_ref_key-procl,
nopernr TYPE c,
pernr TYPE pcce_pernr,
pos TYPE c,
aper_numb TYPE thrpl_log_ref_key-aper_numb,
loopcount TYPE i,
vblock TYPE c LENGTH 4,
daypr_calls TYPE thrpl_log_ref_key-daypr_calls,
daypr_aper_numb TYPE thrpl_log_ref_key-daypr_aper_numb,
msg TYPE TABLE OF gty_msg WITH NON-UNIQUE DEFAULT KEY, "tt_msg,
t100_pointer TYPE TABLE OF gty_t100_msg WITH NON-UNIQUE DEFAULT KEY, ""tt_t100_msg,
class_exp TYPE TABLE OF gty_class_msg WITH NON-UNIQUE DEFAULT KEY,
END OF gty_msgtab.
DATA: lt_msgtab TYPE TABLE OF gty_msgtab.
* reference-table for payroll-log
TYPES: BEGIN OF gty_log_ref.
INCLUDE TYPE thrpl_log_ref_key AS key.
TYPES: asfunc TYPE TABLE OF d_asfunc WITH NON-UNIQUE DEFAULT KEY,
END OF gty_log_ref.
DATA lt_log_ref TYPE TABLE OF gty_log_ref.
*--------------------------------------------------------------------*
DATA: lt_rspar TYPE TABLE OF rsparams.
DATA ls_rspar LIKE LINE OF lt_rspar.
DATA: BEGIN OF lv_payr_log_mem_key,
uname TYPE syuname,
datum TYPE sydatum,
END OF lv_payr_log_mem_key.
DATA lv_plgmemky(40).
FIELD-SYMBOLS: <msgtab> TYPE any.
FIELD-SYMBOLS: <log_basic> TYPE any.
FIELD-SYMBOLS: <log_ref> TYPE any.
PARAMETERS p_sels AS CHECKBOX.
PARAMETERS p_called AS CHECKBOX.
START-OF-SELECTION.
lv_plgmemky = sy-uname.
lv_plgmemky+12 = sy-datlo.
lt_rspar = VALUE #(
( selname = 'PRT_PROT' kind = 'P' low = 'X' ) "Visualizar log
( selname = 'PNPTIMR9' kind = 'P' low = 'X' ) "registro actual
( selname = 'PNPTIMRA' kind = 'P' low = '' ) "otro registro
( selname = 'PNPXABKR' kind = 'P' low = 'A1' ) "Agrupador de Proceso
( selname = 'SCHEMA ' kind = 'P' low = 'ZCL0' ) "Esquema de nómina
( selname = 'TST_ON' kind = 'P' low = 'X' ) "Proceso de test
( selname = 'RADI_EDT' kind = 'P' low = 'X' )
( selname = 'EDT_VARI' kind = 'P' low = 'RECIBO' )
( selname = 'PNPPERNR' kind = 'S' sign = 'I' option = 'EQ' low = '10003536' )
( selname = 'PNPABKRS' kind = 'S' sign = 'I' option = 'EQ' low = 'A1' )
).
ls_rspar-selname = 'ECALLED'.
ls_rspar-kind = 'P'.
ls_rspar-low = p_called.
APPEND ls_rspar TO lt_rspar.
ls_rspar-selname = 'PLGMEMKY'.
ls_rspar-kind = 'P'.
ls_rspar-low = lv_plgmemky.
APPEND ls_rspar TO lt_rspar.
IF p_sels = 'X'.
SUBMIT HCLCALC0
VIA SELECTION-SCREEN
WITH SELECTION-TABLE lt_rspar
EXPORTING LIST TO MEMORY
AND RETURN.
ELSE.
SUBMIT HCLCALC0
WITH SELECTION-TABLE lt_rspar
EXPORTING LIST TO MEMORY
* TO SAP-SPOOL IMMEDIATELY ' '
* KEEP IN SPOOL 'X'
* WITHOUT SPOOL DYNPRO
AND RETURN.
ENDIF.
TYPES : BEGIN OF ltyp_lista_asci,
texto(500) TYPE c,
END OF ltyp_lista_asci.
DATA list_tab TYPE TABLE OF abaplist.
DATA lt_lista_asci TYPE TABLE OF ltyp_lista_asci.
DATA ls_lista_asci TYPE ltyp_lista_asci.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
CALL FUNCTION 'LIST_TO_ASCI'
EXPORTING
with_line_break = 'X'
TABLES
listasci = lt_lista_asci
listobject = list_tab
EXCEPTIONS
empty_list = 1
list_index_invalid = 2
OTHERS = 3.
IF sy-subrc = 0.
CALL FUNCTION 'WRITE_LIST'
TABLES
listobject = list_tab.
ENDIF.
lv_payr_log_mem_key-uname = sy-uname.
lv_payr_log_mem_key-datum = sy-datum.
CALL FUNCTION 'HR_PL_IMPORT_LOG_FROM_MEMORY'
EXPORTING
mem_key = lv_payr_log_mem_key.
* "Dirty"-Assign globale Variablen (FuGr HR Payrollprotokollierung)
ASSIGN ('(SAPLHRPL)MSGTAB[]') TO <msgtab>.
lt_msgtab[] = <msgtab>.
ASSIGN ('(SAPLHRPL)LOG_BASIC') TO <log_basic>.
MOVE <log_basic> TO ls_log_basic.
ASSIGN ('(SAPLHRPL)LOG_REF[]') TO <log_ref>.
lt_log_ref[] = <log_ref>.