RPTNSHA0 is a standard Executable ABAP Report available within your SAP system (depending on your version and release level). It is used for Since July 1981, special laws have been in effect in Austria for workers performing heavy labor on nightshifts...see full standard documentation available for this report. Also check out the submitted Comments related to this SAP report and the details below to see which OBJECTS it interacts with such as TABLES, FUNCTION MODULES, INCLUDES ETC.
If you would like to execute this report or see the full code listing simply enter RPTNSHA0 into the relevant SAP transactions such as SE38 or SE80
Below is a list of transaction codes which are relevant to this SAP report
PC00_M03_TNSH - Nightshifts of Heavy Labor 03
This report can be called from another progam/report simply by using the ABAP SUBMIT statement, see below for example ABAP code snipts of how to do this.
Selection Text: ABW_ART = Absence Types
Selection Text: AENDMELD = Print SI Change Notification
Selection Text: BISOZVER = SI Change Batch Input Session
Selection Text: BIURLAUB = Add. Leave Batch Input Session
Selection Text: ECHTLAUF = Live Run
Selection Text: ELDAD = ELDA Data Records
Selection Text: FIRSTMON = NSchG Regulations: Start Date
Selection Text: INT_DTM1 = Date Type Entry Leave Year
Selection Text: MAP_NAME = Name of Batch Input Session
Selection Text: PKSYMBOL = PF Symbol for No EFZG Entitl.
Selection Text: PROT = Detailed Log
Selection Text: P_PDEST = Form Output to Device
Selection Text: P_RUECK = Forced retro.accounting as of
Selection Text: P_SRGMO = Date Type No. of SP Months
Selection Text: P_ZKTZ = Time Quota: Additional Leave
Selection Text: P_ZUJAR = Date Type: Add. Leave Years
Selection Text: SORTCHAR = Sort
Selection Text: ZURLAUB = Additional Leave Type
Title: Nightshift Heavy Labor Law - NSchG
Text Symbol: E09 = Infotype $1 of $2 $3
Text Symbol: E08 = Overlapping Records
Text Symbol: E07 = Specify either leave type (IT 0005) or time quota (IT 2006)
Text Symbol: E06 = Personal calendar not generated for
Text Symbol: E05 = Generation cancelled
Text Symbol: E04 = Leave type not found (no cancelation)
Text Symbol: E03 = No entry in table T528B
Text Symbol: E02 = 'Sort: Field name type': Switched off
Text Symbol: E01 = Sorting: Digits doubled or invalid value
Text Symbol: 145 = SI Change Notifications for Heavy Lab. Nightshifts
Text Symbol: 144 = For Additional Leave
Text Symbol: 143 = For Social Insurance (0044)
Text Symbol: E10 = Creation of batch input session rejected
Text Symbol: E11 = BAdI Initialization Failed
Text Symbol: EL0 = ERROR: No ELDA Records Generated
Text Symbol: EL1 = ELDA: Overflow in Table T5A10
Text Symbol: EL2 = ELDA: Maintenance Error in Table T5A1K
Text Symbol: EL3 = ELDA: Maintenance Error in Table T5A1M
Text Symbol: EL4 = ELDA: Unable to Lock Table T5A1O
INCLUDE RPPPXD00.
INCLUDE RPPPXM00.
No SAP DATABASE tables are accessed within this REPORT code!
HR_MAPNAME_VERIFY CALL FUNCTION 'HR_MAPNAME_VERIFY' "XWIP30K049565 EXPORTING "XWIP30K049565 mapname = map_name "XWIP30K049565 reportname = repname "XWIP30K049565 IMPORTING "XWIP30K049565 mapname = map_name. "XWIP30K049565
HR_MAPNAME_VERIFY CALL FUNCTION 'HR_MAPNAME_VERIFY' "XWIP30K049565 EXPORTING "XWIP30K049565 mapname = map_name "XWIP30K049565 reportname = repname "XWIP30K049565 IMPORTING "XWIP30K049565 mapname = map_name. "XWIP30K049565
RP_SET_NAME_FORMAT CALL FUNCTION 'RP_SET_NAME_FORMAT' "MBUAHRK058968 EXPORTING repid = repid IMPORTING format = $$format.
CU_READ_RGDIR CALL FUNCTION 'CU_READ_RGDIR' "RGDIR füllen " ! EXPORTING " ! persnr = pernr-pernr " ! TABLES " ! in_rgdir = rgdir " ! EXCEPTIONS " ! no_record_found = 0. " !
CD_RETROCALCULATION_DATE CALL FUNCTION 'CD_RETROCALCULATION_DATE' "aus RGDIR " ! EXPORTING "retrodate holen " ! date_in_period = pn-begda " ! IMPORTING " ! retrocalculation_date = dat3 " ! TABLES " ! rgdir = rgdir " ! EXCEPTIONS " ! no_record_found = 1 " ! OTHERS = 2 . " !
RP_HIRE_FIRE * CALL FUNCTION 'RP_HIRE_FIRE' "XYMK108826 " ! * EXPORTING "XYMK108826 " ! * beg = nshift-begda "XYMK108826 " ! * end = nshift-endda "XYMK108826 " ! * IMPORTING "XYMK108826 " ! * fire_date = fire_date "XYMK108826 " ! * hire_date = hire_date "XYMK108826 " ! * TABLES "XYMK108826 " ! * pphifi = iphifi "XYMK108826 " ! * pp0000 = p0000 "XYMK108826 " ! * pp0001 = p0001 "XYMK108826 " ! * EXCEPTIONS "XYMK108826 " ! * OTHERS = 1. "XYMK108826 " !
HR_CUT_TIMES_WITH_DWS CALL FUNCTION 'HR_CUT_TIMES_WITH_DWS' EXPORTING date = l_infty_prov-begda beguz = l_beguz enduz = l_enduz * cut_times_with = 'PL_WORK_TIME' IMPORTING hours = l_delta_hours TABLES dayint = p_dayint EXCEPTIONS OTHERS = 0.
HR_CUT_TIMES_WITH_DWS CALL FUNCTION 'HR_CUT_TIMES_WITH_DWS' EXPORTING date = l_infty_prov-begda beguz = l_beguz enduz = l_enduz * cut_times_with = 'PL_WORK_TIME' IMPORTING hours = l_delta_hours TABLES dayint = p_dayint EXCEPTIONS OTHERS = 0.
BDC_CLOSE_GROUP CALL FUNCTION 'BDC_CLOSE_GROUP'.
BDC_INSERT CALL FUNCTION 'BDC_INSERT' EXPORTING tcode = ta-code TABLES dynprotab = bdcdata.
BDC_OPEN_GROUP CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client = sy-mandt group = map_name user = sy-uname keep = 'X' "keep holddate = holddate.
CALL FUNCTION 'HR_CREATE_DDS_DATASET_A' EXPORTING datum = sy-datum user = sy-uname uzeit = sy-uzeit test = testk prot = eldap IMPORTING created = created overflow = overflow TABLES dds_vm = vm dds_bg = bg dds_bn = bn dds_ef = ef EXCEPTIONS lfd_nr_overflow = 1 t5a1k_error = 2 t5a1m_error = 3 t5a1o_enque_failed = 4 OTHERS = 5.
VIEW_ENQUEUE * CALL FUNCTION 'VIEW_ENQUEUE' * EXPORTING * ACTION = 'D' * ENQUEUE_MODE = 'E' * VIEW_NAME = 'T5A1O' * EXCEPTIONS * OTHERS = 8.
HR_T5A1O_ENQUEUE CALL FUNCTION 'HR_T5A1O_ENQUEUE' EXPORTING ACTION = 'D' lock_dtrnr = space EXCEPTIONS OTHERS = 8.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' "XNRK020662 EXPORTING "XNRK020662 pernr = pernr "XNRK020662 arbgb = 'PN' "XNRK020662 msgno = 16 "XNRK020662 msgv1 = text-e06 "XNRK020662 msgv2 = year. "XNRK020662
HR_CUT_TIMES_WITH_DWS CALL FUNCTION 'HR_CUT_TIMES_WITH_DWS' EXPORTING date = l_rdate beguz = l_beguz enduz = l_enduz IMPORTING hours = hours TABLES dayint = dayint EXCEPTIONS OTHERS = 1.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING pernr = pernr arbgb = sy-msgid * msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_PERSONAL_WORK_SCHEDULE CALL FUNCTION 'HR_PERSONAL_WORK_SCHEDULE' EXPORTING pernr = pernr-pernr begda = p_begda endda = l_mxdat read_cluster = 'X' TABLES i0000 = p0000 i0001 = p0001 i0002 = p0002 i0003 = p0003 i0007 = p0007 i2001 = p2001 i2002 = p2002 i2003 = p2003 perws = p_psp EXCEPTIONS error_occured = 1.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING pernr = pernr-pernr arbgb = 'PN' msgno = 16 msgv1 = text-e05.
HR_WORK_SCHEDULE_TIMES CALL FUNCTION 'HR_WORK_SCHEDULE_TIMES' EXPORTING pernr = pernr-pernr begda = p_begda endda = l_mxdat break_overtime = space TABLES i0001 = p0001 i0007 = p0007 i2003 = p2003 perws = p_psp daygen = l_daygen dayint = p_dayint EXCEPTIONS error_occured = 1 perws_error = 2 OTHERS = 3.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING pernr = pernr-pernr arbgb = 'PN' msgno = 16 msgv1 = text-e05.
HR_TIME_AND_DURATION CALL FUNCTION 'HR_TIME_AND_DURATION' EXPORTING date = p_rdate beguz = p_rbegu enduz = l_rendu toler_flag = space norm_no_pwoti = 'A' * break_in_interval = '1' * consider_breaks = 'X' * overtime_breaks = TABLES dayint = p_dayint interval = l_interval m2002 = l_i2002 m2005 = l_i2005 EXCEPTIONS OTHERS = 0.
HR_DISPLAY_ERROR_LIST CALL FUNCTION 'HR_DISPLAY_ERROR_LIST' " ! EXPORTING " ! no_popup = 'X' " ! no_print = ' ' " ! * NO_IMG = ' ' " ! no_msgno = 'X' " ! linesize = 110. " !
VIEW_ENQUEUE * CALL FUNCTION 'VIEW_ENQUEUE' * EXPORTING * action = 'E' * enqueue_mode = 'E' * view_name = 'T5A1O' * EXCEPTIONS * OTHERS = 08.
HR_T5A1O_ENQUEUE CALL FUNCTION 'HR_T5A1O_ENQUEUE' EXPORTING ACTION = 'E' lock_dtrnr = space EXCEPTIONS OTHERS = 8.
HR_APPEND_ERROR_LIST * CALL FUNCTION 'HR_APPEND_ERROR_LIST' "XNRK020662 * EXPORTING "XNRK020662 * pernr = pernr "XNRK020662 * arbgb = 'PN' "XNRK020662 * msgty = 'W' "XNRK020662 * msgno = 16 "XNRK020662 * msgv1 = text-e04 "XNRK020662 * msgv2 = urljj. "XNRK020662
COMPUTE_YEARS_BETWEEN_DATES CALL FUNCTION 'COMPUTE_YEARS_BETWEEN_DATES' EXPORTING first_date = tmp_date second_date = firstmon IMPORTING years_between_dates = zujar EXCEPTIONS sequence_of_dates_not_valid = 1 OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' " EXPORTING " PERNR = pernr-pernr " arbgb = 'PN' " msgty = 'W' " msgno = 16 " msgv1 = text-m01 " msgv2 = p_zujar " msgv3 = text-m02 " msgv4 = text-m03. "YRAM3286610
HR_MONTHS_BETWEEN_TWO_DATES CALL FUNCTION 'HR_MONTHS_BETWEEN_TWO_DATES' EXPORTING i_datum_bis = firstmon i_datum_von = tmp_date IMPORTING e_monate = srgmo.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' " EXPORTING " PERNR = pernr-pernr " arbgb = 'PN' " msgty = 'W' " msgno = 16 " msgv1 = text-m01 " msgv2 = p_srgmo " msgv3 = text-m02 " msgv4 = text-m03. "
HR_AT_GET_PART_APPL CALL FUNCTION 'HR_AT_GET_PART_APPL' EXPORTING reportname = repname IMPORTING appl = p_orgda-appl EXCEPTIONS part_application_not_found = 1 OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_ORG_DATA CALL FUNCTION 'HR_AT_GET_ORG_DATA' EXPORTING org_in = p_orgda IMPORTING btrtl_data = i5a0p EXCEPTIONS OTHERS = 6.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_SV_DGSVN CALL FUNCTION 'HR_AT_GET_SV_DGSVN' EXPORTING asvgr = p_asvgr ausva = p_ausva lohnb = i5a0p-lohnb IMPORTING sv_ktonr = i5a1s EXCEPTIONS OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_PART_APPL CALL FUNCTION 'HR_AT_GET_PART_APPL' EXPORTING reportname = repname IMPORTING appl = p_orgda-appl EXCEPTIONS part_application_not_found = 1 OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_ORG_DATA CALL FUNCTION 'HR_AT_GET_ORG_DATA' EXPORTING org_in = p_orgda IMPORTING btrtl_data = i5a0p EXCEPTIONS OTHERS = 6.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_SV_DGSVN CALL FUNCTION 'HR_AT_GET_SV_DGSVN' EXPORTING asvgr = p_asvgr ausva = p_ausva lohnb = i5a0p-lohnb IMPORTING sv_ktonr = i5a1s EXCEPTIONS OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_PART_APPL CALL FUNCTION 'HR_AT_GET_PART_APPL' EXPORTING reportname = repname IMPORTING appl = p_orgda-appl EXCEPTIONS part_application_not_found = 1 OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_ORG_DATA CALL FUNCTION 'HR_AT_GET_ORG_DATA' EXPORTING org_in = p_orgda IMPORTING lohnb_data = i5a0a EXCEPTIONS OTHERS = 6.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_PART_APPL CALL FUNCTION 'HR_AT_GET_PART_APPL' EXPORTING reportname = repname IMPORTING appl = p_orgda-appl EXCEPTIONS part_application_not_found = 1 OTHERS = 2.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
HR_AT_GET_ORG_DATA CALL FUNCTION 'HR_AT_GET_ORG_DATA' EXPORTING org_in = p_orgda IMPORTING addresse = i_addresse address_detail = i_address_detail EXCEPTIONS OTHERS = 6.
HR_APPEND_ERROR_LIST CALL FUNCTION 'HR_APPEND_ERROR_LIST' EXPORTING * PERNR = ' ' arbgb = sy-msgid msgty = 'E' msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4.
RP_HIRE_FIRE CALL FUNCTION 'RP_HIRE_FIRE' EXPORTING BEG = '18000101' END = '99991231' IMPORTING FIRE_DATE = p_last_fire_date HIRE_DATE = p_first_hire_date TABLES pphifi = l_phifi pp0000 = p0000 pp0001 = p0001.
Although this basic information may have limited use it does provide an easy to find location to store any knowledge about this program/report.
The contribute/comments section below therefore offer's an opportunity for anyone to add additional information. This can be anything from useful hints, tips and screen shots to relevant SAP notes or anything else you feel is relevant to this report.
This will then be available for everyone to easily find by simply searching on the report name RPTNSHA0 or its description.