user exit for PBAS0001

PA: PBO/PAI[@more@]

*----------------------------------------------------------------------*
* INCLUDE ZXPADU01 *
*----------------------------------------------------------------------*

* data declaration in ZXPADTOP "Global Data
DATA: I2005 LIKE P2005,
I2006 LIKE P2006.


* default values in ZXPADU01

WHEN '2006'.
MOVE INNNN TO I2006.
IF I2006-SUBTY = '15' OR I2006-SUBTY = '20'.
MOVE '99991231' TO I2006-DEEND.
MOVE I2006-BEGDA TO I2006-DESTA.
MOVE I2006 TO INNNN.
ENDIF.

ENDCASE.

*----------------------------------------------------------------------*
* INCLUDE ZXPADU02 *
*----------------------------------------------------------------------*

DATA: I2001 LIKE P2001,
I2005 LIKE P2005,
I2006 LIKE P2006,
I2010 LIKE P2010,
I0022 LIKE P0022,
I0041 LIKE P0041,
I0000 LIKE P0000,
H0000 LIKE P0000,
I0001 LIKE P0001,
IIPSYST LIKE IPSYST.
*****IT0041&IT2001
DATA: DATE LIKE SY-DATUM,
DAY(2) TYPE C,
MONTH(2) TYPE C,
YEAR(4) TYPE C,
DAYS TYPE I,
C_WEEKS TYPE I,
C_MONTHS TYPE I,
C_YEARS TYPE I,
WEEKS TYPE F,
MONTHS TYPE F,
YEARS TYPE F,
D_MONTHS TYPE I.
*****IT2005
DATA: ZOTHOUR LIKE P2005-STDAZ,
IOTHOUR LIKE P2005-STDAZ,
ZKWERT LIKE T511K-KWERT,
ZOTFLG LIKE P2005-FLAG,
ZCALCFLG LIKE P2005-FLAG.
*****IT0000
DATA: ZPERSG LIKE P0001-PERSG,
I0001_TAB TYPE TABLE OF P0001 INITIAL SIZE 1.
*****IT0001
DATA: ZANSVH LIKE P0001-ANSVH.


DATA:
ZERROR LIKE T100-TEXT,
ZERROR1 LIKE T100-TEXT,
ZERROR2 LIKE T100-TEXT,
ZERROR3 LIKE T100-TEXT.

*ZERROR1 = '记录开始时间所属月度的员工考勤已月结,无法维护!'.
ZERROR2 = '年薪制员工不享受加班发放和年假返还,无法维护!'.
ZERROR3 = '记录由考勤数据月结程序生成,无法维护!'.

* additional checks in ZXPADU02

CASE INNNN-INFTY.
WHEN '2001'.
MOVE INNNN TO I2001.
*****检查输入记录是否属于已结算月度
CALL FUNCTION 'ZHRF_PT_CALCCHECK'
EXPORTING
P_PERNR = I2001-PERNR
P_BEGDA = I2001-BEGDA
P_ACTION = '0'
IMPORTING
P_CALCFLG = ZCALCFLG
P_ERROR = ZERROR.
IF ZCALCFLG = 'X'.
MESSAGE E001(00) WITH ZERROR.
ENDIF.
*****请年假时,提醒当前足额年假年资年份数
IF I2001-SUBTY EQ '0100' .
CLEAR DATE.
CALL FUNCTION 'ZHRF_GET_DATETYP_FROM_IT0041'
EXPORTING
PERNR = I2001-PERNR
KEYDT = I2001-BEGDA
DATAR = 'Z6'
IMPORTING
DATE = DATE.
CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'
EXPORTING
BEGDA = DATE
ENDDA = I2001-BEGDA
IMPORTING
DAYS = DAYS
C_WEEKS = C_WEEKS
C_MONTHS = C_MONTHS
C_YEARS = C_YEARS
WEEKS = WEEKS
MONTHS = MONTHS
YEARS = YEARS
D_MONTHS = D_MONTHS.
MESSAGE I001(00) WITH '员工截止请假日整年年假年资:' C_YEARS '年' .
ENDIF.

WHEN '2005'.
MOVE INNNN TO I2005.
*****检查输入记录是否属于已结算月度
CALL FUNCTION 'ZHRF_PT_CALCCHECK'
EXPORTING
P_PERNR = I2005-PERNR
P_BEGDA = I2005-BEGDA
P_ACTION = '0'
IMPORTING
P_CALCFLG = ZCALCFLG
P_ERROR = ZERROR.
IF ZCALCFLG = 'X'.
MESSAGE E001(00) WITH ZERROR .
ENDIF.
*****加班上限检查
IF IPSYST-IOPER EQ INSERT.
IOTHOUR = I2005-STDAZ.
ENDIF.
CALL FUNCTION 'ZHRF_PT_OTCHECK'
EXPORTING
P_PERNR = I2005-PERNR
P_BEGDA = I2005-BEGDA
P_MOLGA = '28'
P_MODIFY = IOTHOUR
IMPORTING
P_OTHOUR = ZOTHOUR
P_KWERT = ZKWERT
P_OTFLG = ZOTFLG.
IF ZOTFLG = 'X'.
MESSAGE W001(00) WITH '本月累计加班时数:' ZOTHOUR
',已经超过设置提醒上限' ZKWERT .
ENDIF.

WHEN '2006'.
MOVE INNNN TO I2006.
*****检查输入记录是否属于月结程序修改
IF I2006-FLAG = 'X'.
MESSAGE E001(00) WITH ZERROR3 .
ENDIF.

WHEN '2010'.
MOVE INNNN TO I2010.
*****检查输入记录是否属于月结程序修改
IF I2010-FLAG = 'X'.
MESSAGE E001(00) WITH ZERROR3 .
ENDIF.

IF I2010-BEGDA+4(2) = '12'.
YEAR = I2010-BEGDA+0(4) - 1.
CONCATENATE YEAR '01' I2010-BEGDA+6(2) INTO DATE.
ELSE.
MONTH = I2010-BEGDA+4(2) - 1.
IF MONTH < 10.
CONCATENATE '0' MONTH INTO MONTH.
ENDIF.
CONCATENATE I2010-BEGDA+0(4) MONTH I2010-BEGDA+6(2) INTO DATE.
ENDIF.

*****检查输入记录是否属于已结算月度
CALL FUNCTION 'ZHRF_PT_CALCCHECK'
EXPORTING
P_PERNR = I2010-PERNR
P_BEGDA = DATE
P_ACTION = '0'
IMPORTING
P_CALCFLG = ZCALCFLG
P_ERROR = ZERROR.
IF ZCALCFLG = 'X'.
MESSAGE E001(00) WITH ZERROR .
ENDIF.
*****限制年薪制员工录入加班发放和年假返还
IF IPSYST-IOPER EQ INSERT.
IF I2010-LGART = '700C' OR I2010-LGART = '705C' OR I2010-LGART = '710C'.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
PERNR = I2010-PERNR
INFTY = '0001'
BEGDA = DATE
ENDDA = DATE
TABLES
INFTY_TAB = I0001_TAB.
READ TABLE I0001_TAB INDEX 1 INTO I0001.
CHECK SY-SUBRC = 0.
ZANSVH = I0001-ANSVH.
IF ZANSVH = 'Z2'.
MESSAGE E001(00) WITH ZERROR2 .
ENDIF.
ENDIF.
IF I2010-LGART = '710C' OR I2010-LGART = '715C' OR I2010-LGART = '720C'.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
PERNR = I2010-PERNR
INFTY = '0001'
BEGDA = DATE
ENDDA = DATE
TABLES
INFTY_TAB = I0001_TAB.
READ TABLE I0001_TAB INDEX 1 INTO I0001.
CHECK SY-SUBRC = 0.
ZANSVH = I0001-ANSVH.
IF ZANSVH = 'Z2'.
MESSAGE E001(00) WITH ZERROR2 .
ENDIF.
ENDIF.
ENDIF.

WHEN '0000'.
CLEAR:I0000,IIPSYST.
MOVE INNNN TO I0000.
*****检查非外包工未离职无法再次入职
MOVE IPSYST TO IIPSYST.
IF IIPSYST-IOPER = 'COP'.
IF I0000-MASSN = 'Z2'.
MOVE PSAVE TO H0000.
IF H0000-STAT2 <> '0'.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
PERNR = I0000-PERNR
INFTY = '0001'
BEGDA = '99991231'
ENDDA = '99991231'
TABLES
INFTY_TAB = I0001_TAB.
READ TABLE I0001_TAB INDEX 1 INTO I0001.
CHECK SY-SUBRC = 0.
IF I0001-PERSG <> '9'.
MESSAGE E001(00) WITH '请先离职,然后执行再次入职!'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.

*****************check POSITION被占的比例不超过100%
ENDCASE.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8479461/viewspace-1021910/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8479461/viewspace-1021910/

FFmpeg是一款功能强大的开源多媒体处理工具,广泛应用于视频和音频的编码、解码、转换以及流媒体处理。然而,由于历史原因和标准限制,原生的FFmpeg并不支持将H.265(高效视频编码)格式的视频流封装到FLV(Flash Video)容器中。FLV是一种常见的网络流媒体传输格式,但其最初设计时并未考虑现代高效的H.265编码标准。因此,当尝试将H.265编码的视频与FLV容器结合时,会出现“Video codec hevc not compatible with flv”的错误提示,表明FFmpeg无法识别这种组合。 为了解决这一问题,开发者通常需要对FFmpeg的源代码进行修改和扩展。一个名为“用于解决ffmpeg不支持flv+h265需要修改的文件.zip”的压缩包中包含了一些源代码文件,这些文件旨在扩展FFmpeg的功能,使其能够处理FLV容器中的H.265编码内容。压缩包中的三个关键文件分别是“flvdec.c”“flvenc.c”和“flv.h”,它们分别对应FLV的解码器、编码器和头文件。 flvdec.c:这是FFmpeg的FLV解码器源代码,经过修改后可能支持读取和解析包含H.265数据的FLV流。解码器的作用是从FLV容器中提取视频数据,并将其转换为可处理的原始像素格式。 flvenc.c:这个文件包含FLV编码器的源代码,经过调整后可能允许将H.265编码的视频流封装到FLV容器中。编码器负责将原始视频数据编码为H.265格式,并将其打包到FLV文件中。 flv.h:这是一个头文件,定义了FLV格式相关的常量、结构体和函数原型。修改该文件可能涉及添加或更新与H.265支持相关的定义和接口。 要应用这些修改,开发者需要重新编译FFmpeg源代码,并将修改后的版本替换原有的FFmpeg安装。这样,用户就可以使用定制版的FFmpeg来处理FLV+H.265的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值