PCH逻辑数据库,一般用于组织查询。和PNP很相像,如果非要说有不同,1、他的screen界面不是通过报告类进行控制的;2、他的查询逻辑是可以通过评估路径进行控制的

下面给一个代码:计算编制人数的程序,由于是本人第一次用PCH写程序,可能逻辑上不是很优化,望指正,如有问题可以留言或者加QQ:632055983进行探讨;

程序代码:

REPORT  ZHR_BZ_DISPLAY_DEPT.
INCLUDE ZHR_BZ_DISPLAY_DEPT_D01.
INCLUDE ZHR_BZ_DISPLAY_DEPT_S01.
INCLUDE ZHR_BZ_DISPLAY_DEPT_E01.
INCLUDE ZHR_BZ_DISPLAY_DEPT_F01.
*&---------------------------------------------------------------------*
*&  包括                ZHR_BZ_DISPLAY_DEPT_D01
*&---------------------------------------------------------------------*
TYPE-POOLS :SLIS.
TABLES: OBJEC,GDSTR,ZHR_PERSKTYPE ,PA0001.
INFOTYPES : 1000,  "员工子组1001,  "信息类型 1001:关系1002,  "描述1011,1015,1028.  "职级.TYPES: BEGIN OF GX_MAIN,BYEAR(4),OBJID   TYPE HROBJID,  "岗位STEXT   TYPE STEXT,OBJID1  TYPE HROBJID,  "部门STEXT1  TYPE STEXT,CBZX    TYPE MAST_CCTR,CBZXMC  TYPE STEXT,BZRS    TYPE I,ZGRS    TYPE P DECIMALS 2,QRZRS   TYPE I,FQRZRS  TYPE I,CBRS    TYPE I,CBL     TYPE P DECIMALS 2,JB_A    TYPE I,  "副总监以上JB_B    TYPE I,  " 店长JB_C    TYPE I,  " 高级经理JB_D    TYPE I,  "经理JB_E    TYPE I,  "副经理JB_F    TYPE I,  " 主管/课长JB_G    TYPE I,   "资深JB_H    TYPE I,   "员工JB_O    TYPE I,    "qitaEND OF GX_MAIN.DATA: GT_MAIN TYPE TABLE OF GX_MAIN,GS_MAIN TYPE GX_MAIN.DATA: GT_YGZZ TYPE TABLE OF     ZHR_PERSKTYPE,  "员工子组GS_YGZZ TYPE     ZHR_PERSKTYPE.
DATA: GT_YGZJ TYPE TABLE OF ZHR_M_PLOMC,  "员工职级GS_YGZJ TYPE ZHR_M_PLOMC.TYPES: BEGIN OF GX_P0001,PERNR TYPE PERNR_D,PERSK TYPE PERSK,END OF GX_P0001.
DATA: GT_P0001 TYPE TABLE OF GX_P0001,GS_P0001 TYPE GX_P0001.TYPES: BEGIN OF GX_P0024,PERNR TYPE PERNR_D,ZWMC TYPE ZHR_ZWMC,END OF GX_P0024.
DATA: GT_P0024 TYPE TABLE OF GX_P0024,GS_P0024 TYPE GX_P0024.DATA: G_IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV ,G_WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV ,G_TITLE    LIKE SY-TITLE.TYPES: BEGIN OF GX_HRP1001,OTYPE TYPE OTYPE,OBJID TYPE HROBJID,RSIGN TYPE RSIGN,RELAT TYPE RELAT,SOBID TYPE SOBID,END OF GX_HRP1001.DATA: GT_HRP1001 TYPE TABLE OF GX_HRP1001,GS_HRP1001 TYPE GX_HRP1001.DATA: GT_ZRLBZ TYPE TABLE OF ZRLBZ,GS_ZRLBZ TYPE ZRLBZ.DATA: LT_BZAGW TYPE TABLE OF ZHRM_BZAGW,GS_ITAB_OUT TYPE ZHRM_BZAGW.
*&---------------------------------------------------------------------*
*&  包括                ZHR_BZ_DISPLAY_DEPT_S01
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-S01.
SELECT-OPTIONS: P_CBZX FOR PA0001-KOSTL,P_GW   FOR PA0001-PLANS.
PARAMETERS      P_SSNID(50).
SELECTION-SCREEN END OF BLOCK B1.
*&---------------------------------------------------------------------*
*&  包括                ZHR_BZ_DISPLAY_DEPT_E01
*&---------------------------------------------------------------------*
INITIALIZATION.PERFORM INIT.START-OF-SELECTION.DATA OBJID1 TYPE HROBJID.PERFORM GET_YGZZ.PERFORM GET_YGZJ.PERFORM GET_P0001.PERFORM GET_HRP1001. "得到关系表  主要为得到成本中心PERFORM GET_P0024.  "获取p0024 数据PERFORM GETMAIN.  "获取维护的编制数据*  RP-SEL-EIN-AUS-INIT.            "选择屏幕默认就业状态不等于0
***如果查询人员没有相应信息类型的权限,将无权查看此表***
*  PNP_SW_SKIP_PERNR = 'N'.GET OBJEC.PERFORM GET_OBJEC.OBJID1 = P1000-OBJID.IF SY-SUBRC <> 0.ENDIF.END-OF-SELECTION.IF  LINES( GT_MAIN ) = 0.MESSAGE TEXT-S02 TYPE 'E'.ENDIF.PERFORM MAINTAIN.PERFORM SET_OUTPUT.
*&---------------------------------------------------------------------*
*&  包括                ZHR_BZ_DISPLAY_DEPT_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  GETMAIN
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GETMAIN .FIELD-SYMBOLS: <FS1> TYPE ANY.DATA L_COUM(6).FIELD-SYMBOLS : <FS> TYPE  ZRLBZ.SELECT *INTO CORRESPONDING FIELDS OF TABLE GT_ZRLBZFROM ZRLBZ WHERE BYEAR =  SY-DATUM+(4).DATA: LM(2) .LM = PCHBEGDA+4(2).CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'EXPORTINGINPUT  = LMIMPORTINGOUTPUT = LM.DATA LNAME(7).CONCATENATE 'BZNUB' LM INTO  LNAME.LOOP AT GT_ZRLBZ ASSIGNING <FS>.ASSIGN COMPONENT LNAME OF STRUCTURE <FS> TO <FS1>.<FS>-BZNUB2 = <FS1>.ENDLOOP.CLEAR GS_MAIN.
*  LOOP AT GT_ZRLBZ INTO GS_ZRLBZ.
*
*  ENDLOOP.ENDFORM.                    " GETMAIN
*&---------------------------------------------------------------------*
*&      Form  INIT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM INIT .
*  CLEAR : PCHOTYPE,PCHWEGID.PCHOTYPE = 'O'.IF PCHBEGDA IS INITIAL.PCHBEGDA = SY-DATUM.ENDIF.IF PCHENDDA IS INITIAL.PCHENDDA = PCHBEGDA.ENDIF.PCHWEGID = 'O-S-P'.ENDFORM.                    " INIT
*&---------------------------------------------------------------------*
*&      Form  GET_OBJEC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_OBJEC .IF OBJEC-BEGDA < SY-DATUM AND OBJEC-ENDDA > SY-DATUM.CASE OBJEC-OTYPE.WHEN  'O'.REJECT.WHEN 'S'.PERFORM APPEND_MAIN.WHEN OTHERS.REJECT.ENDCASE.ELSE.REJECT.ENDIF.
ENDFORM.                    " GET_OBJEC
*&---------------------------------------------------------------------*
*&      Form  APPEND_MAIN
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM APPEND_MAIN .DATA LS_MAIN TYPE  GX_MAIN.DATA LS_P1001 TYPE P1001.DATA: L_NUM_QRZ TYPE I,L_NUM_FQRZ TYPE I.DATA L_CBZX_IS.DATA L_CBZX TYPE MAST_CCTR.LS_MAIN-OBJID = OBJEC-OBJID.
********此处循环关系表P1001 取出S标志下 A 03 对应的上级部门O和 A 08 对应的P员工之后判断员工是全日制还是飞全日制岗位LOOP AT P1001  INTO LS_P1001  WHERE BEGDA <= PCHBEGDA AND ENDDA >= PCHBEGDA AND RSIGN = 'A'.CASE LS_P1001-RELAT.WHEN '003'.LS_MAIN-OBJID1 = LS_P1001-SOBID.WHEN '008'.
*********根据员工子组判断是全日制还是非全日制*****************************READ TABLE GT_P0001 INTO GS_P0001 WITH KEY PERNR = LS_P1001-SOBID+(8).IF SY-SUBRC = 0.READ TABLE GT_YGZZ INTO GS_YGZZ WITH KEY PERSK = GS_P0001-PERSK.IF SY-SUBRC = 0.CASE GS_YGZZ-ZPERSKTYPE.WHEN 'A'.L_NUM_QRZ = L_NUM_QRZ + 1.WHEN 'B'.L_NUM_FQRZ = L_NUM_FQRZ + 1.ENDCASE.IF GS_YGZZ-ZPERSKTYPE = 'A' OR GS_YGZZ-ZPERSKTYPE = 'B'.
**********根据员工职级 *对各阶层员工数据进行分配**************************************READ TABLE GT_P0024 INTO GS_P0024 WITH KEY PERNR = LS_P1001-SOBID+(8).IF SY-SUBRC = 0 .READ TABLE GT_YGZJ INTO GS_YGZJ WITH KEY ZHR_ZWMC = GS_P0024-ZWMC.IF SY-SUBRC = 0.CASE GS_YGZJ-ZSTELLTYPE.WHEN 'A'.LS_MAIN-JB_A = LS_MAIN-JB_A + 1.WHEN 'B'.LS_MAIN-JB_B = LS_MAIN-JB_B + 1.WHEN 'C'.LS_MAIN-JB_C = LS_MAIN-JB_C + 1.WHEN 'D'.LS_MAIN-JB_D = LS_MAIN-JB_D + 1.WHEN 'E'.LS_MAIN-JB_E = LS_MAIN-JB_E + 1.WHEN 'F'.LS_MAIN-JB_F = LS_MAIN-JB_F + 1.WHEN 'G'.LS_MAIN-JB_G = LS_MAIN-JB_G + 1.WHEN 'H'.LS_MAIN-JB_H = LS_MAIN-JB_H + 1.WHEN OTHERS.LS_MAIN-JB_O = LS_MAIN-JB_O + 1.ENDCASE.ELSE.LS_MAIN-JB_O = LS_MAIN-JB_O + 1.ENDIF.ELSE.LS_MAIN-JB_O = LS_MAIN-JB_O + 1.ENDIF.ENDIF.ENDIF.ENDIF.CLEAR : GS_P0001,GS_YGZZ.WHEN '011'.LS_MAIN-CBZX = LS_P1001-SOBID+(10).L_CBZX_IS = 'X'.WHEN OTHERS.ENDCASE.ENDLOOP.IF L_CBZX_IS <> 'X'. "获取成本中心PERFORM GET_CBZX USING LS_MAIN-OBJID1 CHANGING  L_CBZX_IS L_CBZX .LS_MAIN-CBZX = L_CBZX .ENDIF.LS_MAIN-QRZRS = L_NUM_QRZ. "全日制人数LS_MAIN-FQRZRS = L_NUM_FQRZ.  "非全日制人数APPEND LS_MAIN TO GT_MAIN.IF SY-SUBRC = 0 .ENDIF.ENDFORM.                    " APPEND_MAIN
*&---------------------------------------------------------------------*
*&      Form  GET_YGZZ
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_YGZZ .SELECT * INTO  CORRESPONDING FIELDS OF TABLE GT_YGZZFROM ZHR_PERSKTYPE WHERE ZPERSKTYPE = 'A' OR ZPERSKTYPE = 'B'.
ENDFORM.                    " GET_YGZZ
*&---------------------------------------------------------------------*
*&      Form  GET_P0001
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_P0001 .SELECT PERNR PERSK INTO CORRESPONDING FIELDS OF TABLE GT_P0001FROM PA0001 WHERE BEGDA <= PCHBEGDA AND ENDDA >= PCHBEGDA.
ENDFORM.                                                    " GET_P0001
*&---------------------------------------------------------------------*
*&      Form  DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY .PERFORM SUB_SET_FIELD.PERFORM DIS_ITAB.ENDFORM.                    " DISPLAY
*&---------------------------------------------------------------------*
*&      Form  SUB_SET_FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SUB_SET_FIELD .DEFINE MARCO_ADDFIELD .G_WA_FIELDCAT-FIELDNAME  = &1.G_WA_FIELDCAT-SELTEXT_M  = &2.APPEND G_WA_FIELDCAT TO G_IT_FIELDCAT.END-OF-DEFINITION .MARCO_ADDFIELD: 'CBZX' '成本中心','CBZXMC' '成本中心名称','OBJID1' '部门','STEXT1' '部门名称','OBJID' '岗位','STEXT' '岗位名称','BZRS' '编制人数','ZGRS' '总共人数','QRZRS' '全日制人数','FQRZRS' '非全日制人数','CBRS' '超编人数','CBL' '超编率','JB_A' '副总监以上','JB_B' '店长','JB_C' '高级经理','JB_D' '经理','JB_E' '副经理','JB_F' '主管/课长','JB_G' '资深','JB_H' '员工','JB_O' '其他级别'.
ENDFORM.                    " SUB_SET_FIELD
*&---------------------------------------------------------------------*
*&      Form  DIS_ITAB
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DIS_ITAB .CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
*   I_CALLBACK_PROGRAM                = ' '
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  = I_STRUCTURE_NAME
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      = I_GRID_TITLE
*   I_GRID_SETTINGS                   = I_GRID_SETTINGS
*   IS_LAYOUT                         = IS_LAYOUTIT_FIELDCAT                       =  G_IT_FIELDCAT[]
*   IT_EXCLUDING                      = IT_EXCLUDING
*   IT_SPECIAL_GROUPS                 = IT_SPECIAL_GROUPS
*   IT_SORT                           = IT_SORT
*   IT_FILTER                         = IT_FILTER
*   IS_SEL_HIDE                       = IS_SEL_HIDE
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        = IS_VARIANT
*   IT_EVENTS                         = IT_EVENTS
*   IT_EVENT_EXIT                     = IT_EVENT_EXIT
*   IS_PRINT                          = IS_PRINT
*   IS_REPREP_ID                      = IS_REPREP_ID
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   = IT_ALV_GRAPHICS
*   IT_HYPERLINK                      = IT_HYPERLINK
*   IT_ADD_FIELDCAT                   = IT_ADD_FIELDCAT
*   IT_EXCEPT_QINFO                   = IT_EXCEPT_QINFO
*   IR_SALV_FULLSCREEN_ADAPTER        = IR_SALV_FULLSCREEN_ADAPTER
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           = E_EXIT_CAUSED_BY_CALLER
*   ES_EXIT_CAUSED_BY_USER            = ES_EXIT_CAUSED_BY_USERTABLEST_OUTTAB                          = LT_BZAGW[]EXCEPTIONSPROGRAM_ERROR                     = 1.ENDFORM.                    " DIS_ITAB
*&---------------------------------------------------------------------*
*&      Form  GET_HRP1001
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_HRP1001 .SELECT  OTYPE OBJID   RSIGN  RELAT   SOBIDINTO CORRESPONDING FIELDS OF TABLE  GT_HRP1001FROM HRP1001WHERE RSIGN  = 'A' AND ( RELAT = '003' OR RELAT = '011' OR RELAT = '002' ).
ENDFORM.                    " GET_HRP1001
*&---------------------------------------------------------------------*
*&      Form  GET_CBZX
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_L_CBZX  text
*      -->P_LS_MAIN_OBJID1  text
*----------------------------------------------------------------------*
FORM GET_CBZX  USING      P_LS_MAIN_OBJID1  TYPE HROBJIDCHANGING   P_L_CBZX_IS TYPE CP_L_CBZX TYPE MAST_CCTR.DATA: LS_HRP1001_1 TYPE GX_HRP1001,LS_HRP1001_2 TYPE GX_HRP1001,LS_HRP1001_3 TYPE GX_HRP1001,LS_HRP1001_4 TYPE GX_HRP1001.SORT GT_HRP1001 BY OTYPE OBJID RELAT.READ TABLE  GT_HRP1001 INTO LS_HRP1001_1 WITH KEY OBJID = P_LS_MAIN_OBJID1 RELAT = '011' BINARY SEARCH.IF SY-SUBRC = 0. " 第一层组织P_L_CBZX    = LS_HRP1001_1-SOBID+0(10).P_L_CBZX_IS = 'X'.ELSE.READ TABLE  GT_HRP1001 INTO LS_HRP1001_1 WITH KEY  OTYPE = 'O' OBJID = P_LS_MAIN_OBJID1 RELAT = '002'   BINARY SEARCH .IF SY-SUBRC = 0.  "第二层组织READ TABLE  GT_HRP1001 INTO LS_HRP1001_2 WITH KEY  OTYPE = 'O' OBJID = LS_HRP1001_1-SOBID(8) RELAT = '011'  BINARY SEARCH.IF SY-SUBRC = 0.P_L_CBZX    = LS_HRP1001_2-SOBID+0(10).P_L_CBZX_IS = 'X'.ELSE.READ TABLE  GT_HRP1001 INTO LS_HRP1001_2 WITH KEY  OTYPE = 'O' OBJID = LS_HRP1001_1-SOBID(8) RELAT = '002'    BINARY SEARCH.IF SY-SUBRC = 0. "第三层组织READ TABLE  GT_HRP1001 INTO LS_HRP1001_3 WITH KEY  OTYPE = 'O' OBJID = LS_HRP1001_2-SOBID(8) RELAT = '011'    BINARY SEARCH.IF SY-SUBRC = 0.P_L_CBZX    = LS_HRP1001_3-SOBID+0(10).P_L_CBZX_IS = 'X'.ELSE.READ TABLE  GT_HRP1001 INTO LS_HRP1001_3 WITH KEY  OTYPE = 'O' OBJID = LS_HRP1001_2-SOBID(8) RELAT = '002'    BINARY SEARCH.IF SY-SUBRC = 0.READ TABLE  GT_HRP1001 INTO LS_HRP1001_4 WITH KEY  OTYPE = 'O' OBJID = LS_HRP1001_3-SOBID(8) RELAT = '011'    BINARY SEARCH.IF SY-SUBRC = 0.P_L_CBZX    = LS_HRP1001_4-SOBID+0(10).P_L_CBZX_IS = 'X'.ENDIF.ENDIF.ENDIF.P_L_CBZX_IS = 'X'.ELSE.P_L_CBZX_IS = 'X'.EXIT.ENDIF.ENDIF.ELSE.P_L_CBZX_IS = 'X'.EXIT.ENDIF.ENDIF.ENDFORM.                    " GET_CBZX
*&---------------------------------------------------------------------*
*&      Form  MAINTAIN
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM MAINTAIN ."组织名称TYPES: BEGIN OF LX_ORGTX,ORGEH TYPE ORGEH,ORGTX TYPE ORGTX,END OF LX_ORGTX.DATA: LT_ORGTX TYPE TABLE OF LX_ORGTX,LS_ORGTX TYPE LX_ORGTX."成本中心TYPES: BEGIN OF LX_CBZX,KOSTL TYPE KOSTL,KTEXT TYPE KTEXT,END OF LX_CBZX.DATA: LT_CBZX TYPE TABLE OF LX_CBZX,LS_CBZX TYPE LX_CBZX."组织名称TYPES: BEGIN OF LX_PLSTX,PLANS TYPE PLANS,PLSTX TYPE PLSTX,END OF LX_PLSTX.FIELD-SYMBOLS <FS> TYPE GX_MAIN.DATA: LT_PLSTX TYPE TABLE OF LX_PLSTX,LS_PLSTX TYPE LX_PLSTX."组织名称SELECT   ORGEH ORGTXINTO CORRESPONDING FIELDS OF TABLE LT_ORGTXFROM T527X   WHERE ENDDA >= PCHENDDA AND BEGDA <= PCHBEGDA.SELECT  KOSTL  KTEXT INTO CORRESPONDING FIELDS OF TABLE LT_CBZXFROM  CSKT WHERE SPRAS = '1'."职位名称SELECT  PLANS PLSTXINTO CORRESPONDING FIELDS OF TABLE LT_PLSTXFROM T528T WHERE ENDDA >= PCHENDDA AND BEGDA <= PCHBEGDA.SORT LT_ORGTX BY ORGEH. "bumenSORT LT_CBZX  BY KOSTL.  "chengbenzhongxinSORT LT_PLSTX BY PLANS.  "zhiweiSORT GT_ZRLBZ BY OBJID.LOOP AT GT_MAIN ASSIGNING <FS>.READ TABLE LT_ORGTX INTO LS_ORGTX  WITH KEY ORGEH = <FS>-OBJID1 BINARY SEARCH.IF SY-SUBRC = 0.<FS>-STEXT1 = LS_ORGTX-ORGTX .ENDIF.READ TABLE LT_CBZX INTO LS_CBZX WITH KEY KOSTL = <FS>-CBZX BINARY SEARCH.IF SY-SUBRC = 0.<FS>-CBZXMC = LS_CBZX-KTEXT.ENDIF.READ TABLE LT_PLSTX INTO LS_PLSTX WITH KEY PLANS = <FS>-OBJID BINARY SEARCH.IF SY-SUBRC = 0 .<FS>-STEXT = LS_PLSTX-PLSTX.ENDIF.READ TABLE GT_ZRLBZ INTO GS_ZRLBZ WITH KEY OBJID = <FS>-OBJID.IF SY-SUBRC = 0.<FS>-BZRS = GS_ZRLBZ-BZNUB1.ENDIF.<FS>-ZGRS = <FS>-QRZRS + <FS>-FQRZRS / '1.5' .<FS>-CBRS = <FS>-ZGRS - <FS>-BZRS.IF <FS>-BZRS <> 0.<FS>-CBL  = <FS>-CBRS / <FS>-BZRS.ENDIF.ENDLOOP.sort  GT_MAIN by OBJID1  OBJID.DELETE ADJACENT DUPLICATES FROM GT_MAIN COMPARING OBJID1  OBJID.ENDFORM.                    " MAINTAIN
*&---------------------------------------------------------------------*
*&      Form  GET_P0024
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_P0024 .SELECT PERNR ZHR_ZWMC AS ZWMC INTO CORRESPONDING FIELDS OF TABLE GT_P0024FROM PA0024 WHERE  BEGDA <= PCHBEGDA AND ENDDA >= PCHBEGDA.ENDFORM.                                                    " GET_P0024
*&---------------------------------------------------------------------*
*&      Form  GET_YGZJ
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_YGZJ .SELECT ZHR_ZWMC ZSTELLTYPEINTO CORRESPONDING FIELDS OF TABLE GT_YGZJFROM ZHR_M_PLOMC .
ENDFORM.                    " GET_YGZJ
*&---------------------------------------------------------------------*
*&      Form  SET_OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SET_OUTPUT .LOOP AT GT_MAIN INTO GS_MAIN WHERE OBJID IN P_GW AND CBZX IN P_CBZX .MOVE-CORRESPONDING GS_MAIN TO GS_ITAB_OUT .APPEND GS_ITAB_OUT TO LT_BZAGW.ENDLOOP.IF P_SSNID IS NOT INITIAL .EXPORT LT_BZAGW TO MEMORY ID P_SSNID.ELSE.PERFORM DISPLAY.ENDIF.
ENDFORM.                    " SET_OUTPUT

HR之PCH逻辑数据库的使用相关推荐

  1. Query 操作手册 (新增逻辑数据库)

    基本概念 QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表.它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比 ...

  2. 逻辑数据库读取bseg

    相关t-code sldb 一定要清空 :转到-〉属性-〉逻辑数据库设定 *&--------------------------------------------------------- ...

  3. ABAP--通过LDB_PROCESS函数使用逻辑数据库

    1.概览 通过LDB_PROCESS函数可以允许任何程序访问逻辑数据库,允许一个程序访问多个逻辑数据库,当然也允许多次连续访问访问同个逻辑数据库.当使用LDB_PROCESS函数来访问逻辑数据库时,选 ...

  4. 重新学习一下ABAP里面的逻辑数据库

    之前以为逻辑数据库就仅仅是个选择界面那么简单,其实不是的,逻辑数据库还有很多名堂的. 逻辑数据常常要与 "START-OF-SELECTION"连合着一起使用. NODES: sp ...

  5. 通过LDB_PROCESS函数使用逻辑数据库

    样例代码及说明 TABLES SPFLI. SELECT-OPTIONS S_CARR FOR SPFLI-CARRID. TYPE-POOLS: RSDS, RSFS. DATA: CALLBACK ...

  6. 精心设计的基于组件的C# Win Forms实践 一个框架数据库驱动多个业务逻辑数据库...

    设计一个灵活稳定的多层架构的程序不是件容易的事情.当有了成熟的模式和应用之后,还需要经历各种应用与需求考验,用直白的话说,就是要经得起折腾.最近在重构自己的EPN框架时,有了一些新的体会实践,与各位分 ...

  7. ABAP 通过LDB_PROCESS函数使用逻辑数据库

    更多内容关注公众号:SAP Technical 各位可以关注我的公众号:SAP Technical 样例代码及说明 TABLES SPFLI. SELECT-OPTIONS S_CARR FOR SP ...

  8. Logical Databases逻辑数据库

    主要组成部分 结构(Structure) 选择(Selections) 数据库程序(Database program) LDB程序结构 FORM PUT_XXX性能问题 GET_EVENT内表 报表程 ...

  9. 《教妹学数据库系统》(五)逻辑数据库设计(上)

    hello大家好,今天我们来学习逻辑数据库设计.教妹学数据库,没见过这么酷炫的标题吧?"语不惊人死不休",没错,标题就是这么酷炫. 我的妹妹小埋18岁,校园中女神一般的存在,成绩优 ...

最新文章

  1. Android中全局Application的onCreate多次调用问题
  2. 关于jquery.AutoComplete插件的一些使用心得(编码问题,效率问题)
  3. 本科生手握十余篇SCI,达博士毕业要求后,他获顶级名校全奖直博offer
  4. MYSQL导入数据出现ERROR 1049 (42000): Unknown database 'n??;'
  5. 7-55 求整数序列中出现次数最多的数 (15 分)
  6. 五大软件设计原则学习笔记4——接口隔离原则
  7. toadstool sql格式化
  8. Ubuntu中如何打开终端terminal
  9. vi 和 vim 的区别
  10. 面向对象三大特性之——继承
  11. linux设置文件最大权限,linux chmod 数字设置权限(最大权限)
  12. 微软推补丁服务器,[图]微软再推稳定性补丁 为即将到来功能更新做准备
  13. ppt导出pdf后非矢量图图片失真的解决办法
  14. 如何在阿里云上购买域名并备案Iot studio
  15. 帝国cms7.2密码修改
  16. Java专题 Java使用第一步 环境搭建JDK及JRE(含多版本JDK切换思路)
  17. RC滤波分析计算——信号与系统
  18. win10连接filco蓝牙键盘
  19. 计算机系应届生求职指北
  20. mysql进程daemon_守护进程详解及创建,daemon()使用

热门文章

  1. 中国塑料薄膜制造行业运营策略与投资规划研究报告2021年版
  2. 基于手机app的树莓派远程监控(非常全)
  3. 合合信息扫描全能王“照片高清修复”功能上线,3秒还原老照片
  4. oracle 10g 检查网络配置需求未通过问题的解决
  5. viewer.entities添加广告牌和文字
  6. 做完肠镜检查显示有糜烂,很严重吗?
  7. 怎么在计算机上安装wps,电脑安装WPS Office中的excel作为默认打开程序几种方法
  8. Context Prior for Scene Segmentation论文阅读/翻译
  9. php微信企业号获取用户OpenId
  10. Jetson TX2 内核重新编译