SAP Reports / Programs

RPTNSHA0 SAP ABAP Report - Nightshift Heavy Labor Law - NSchG







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


Transaction Code(s):

Below is a list of transaction codes which are relevant to this SAP report

PC00_M03_TNSH - Nightshifts of Heavy Labor 03


ABAP code to call this SAP report using the submit statement

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.






SUBMIT RPTNSHA0. "Basic submit
SUBMIT RPTNSHA0 AND RETURN. "Return to original report after report execution complete
SUBMIT RPTNSHA0 VIA SELECTION-SCREEN. "Display selection screen of submitted report to user
    See more syntax options for the ABAP SUBMIT statement


Text pool values


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





Text Symbol: L08 = Display Change Forms
Text Symbol: M01 = Leg. data trans. with date type
Text Symbol: M02 = may be insufficient
Text Symbol: M03 = Use report RPUNSHA0
Text Symbol: M04 = : Cancellation Notif. Due to Mid-Month Change
Text Symbol: M05 = in NB field of infotype 0044
Text Symbol: 142 = Proposed Changes
Text Symbol: 025 = Internal Tables of Personnel Numbers
Text Symbol: 024 = Days
Text Symbol: 023 = CANCEL Heavy Labor Nightshifts Start
Text Symbol: 022 = CANCEL Heavy Labor Nightshifts End
Text Symbol: 021 = DPR
Text Symbol: 020 = Heavy Labor Nightshifts Start
Text Symbol: 019 = Heavy Labor Nightshifts End
Text Symbol: 018 = SI Number
Text Symbol: 017 = Last and First Names
Text Symbol: 016 = CHANGE NOTIFICATION
Text Symbol: 015 = For Hourly-Paid and Salaried Employees
Text Symbol: 014 = Account No.
Text Symbol: 013 = SI Body Unknown
Text Symbol: 011 = Cancel Additional Leave
Text Symbol: 010 = New Additional Leave
Text Symbol: 009 = *** SI Deregistration
Text Symbol: 008 = *** SI Registration
Text Symbol: 007 = *** Cancel SI Deregistration
Text Symbol: 006 = *** Cancel SI Registration
Text Symbol: 002 = Details for First Run
Text Symbol: 001 = Processing Type
Text Symbol: 000 = xxxxx56789 0=Test Help,1=Nshift,2=SI Change,3=Leave ,4=SI Notif
Text Symbol: 141 = BI Session
Text Symbol: 046 = !!!TEST NOTIFICATION!!!
Text Symbol: 045 = IT 2006
Text Symbol: 044 = IT 0005
Text Symbol: 043 = IT 0044
Text Symbol: 042 = Pers.No. Name Infotype for Master Data Records
Text Symbol: 041 = Batch Input Session:
Text Symbol: 040 = Table: Night Shift (Add.Leave)
Text Symbol: 039 = Period LeaveYr Par1 Par1a Par1b Par1a/1b Year 1 Year 2 Year 3 HL1 HL1b PY1 PY1b_HL
Text Symbol: 038 = Pers.no. Error





Text Symbol: 037 = Error log:
Text Symbol: 036 = LvType
Text Symbol: 035 = StDt EndDt Notif.
Text Symbol: 034 = Insured Person Notifications
Text Symbol: 033 = Pers.No. LvYear Entitlmnt Determined Enttlmnt Infotype
Text Symbol: 032 = Start Month
Text Symbol: 031 = Additional Leave Entitlement in Year
Text Symbol: 030 = StrtDt EndDt SI HL
Text Symbol: 029 = Change to NSchG Obligation to Contribute
Text Symbol: 028 = AdLMo AdLYr ImAdLYr WNoMo SPnMo P
Text Symbol: 027 = Period HlMon SI NSAddL NSSpPn NNSSpP
Text Symbol: 026 = Monthly Overview of Entitlement Calc.


INCLUDES used within this REPORT RPTNSHA0

INCLUDE RPPPXD00.
INCLUDE RPPPXM00.


TABLES used within REPORT and the associated SELECT statement:

No SAP DATABASE tables are accessed within this REPORT code!


Function Modules used within report and the associated call statement:

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.

HR_CREATE_DDS_DATASET_A



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.



Contribute (Add Comments)

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.