SAP动态树程序Dialog ALV报表(6)

2019-06-11 15:35

IELDS.

IF SY-SUBRC = 0.

LS_NODE-ISFOLDER = ABAP_TRUE. ELSE.

LS_NODE-ISFOLDER = ABAP_FALSE. ENDIF.

LS_NODE-NODE_KEY = LS_TAB-NODID. LS_NODE-RELATKEY = LS_TAB-UPNOD.

* ls_node-n_image = '@5B@'. * ls_node-exp_image = '@5B@'. APPEND LS_NODE TO CT_NODE. CLEAR:LS_NODE.

*<---构建节点信息表--->

LS_ITEM-ITEM_NAME = 'NODID'. LS_ITEM-NODE_KEY = LS_TAB-NODID.

LS_ITEM-CLASS = 2.\ \ * ls_item-editable = 'X'.

* modify by tianhaiguang on 20130422.

* ls_item-text = ls_tab-nodid && '-' && ls_tab-ndtxt. IF LS_TAB-BANKA IS INITIAL.

CONCATENATE LS_TAB-NODID LS_TAB-NDTXT INTO LS_ITEM-TEXT SEPARATED BY SPACE. ELSE.

LS_ITEM-TEXT = LS_TAB-NDTXT . ENDIF.

* end modify.

COLLECT LS_ITEM INTO CT_ITEM. CLEAR:LS_ITEM.

IF LS_TAB-BCJNR IS INITIAL. CLEAR:LS_TAB-ZJLB,LS_TAB-KHHT. ENDIF.

PERFORM FRM_ADD_DATA USING LS_TAB CHANGING CT_NODE CT_ITEM .

ENDLOOP.

ENDFORM. \

*&---------------------------------------------------------------------*

*& Form FRM_COLLECT_NODE

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* -->P_EV_REGCT text * <--P_IT_TAB text

*----------------------------------------------------------------------*

FORM FRM_COLLECT_NODE USING P_NODE TYPE ZFIUPNOD CHANGING P_TAB TYPE TT_ZFIT1011 . DATA:LS_TAB TYPE TY_ZFIT1011 .

READ TABLE P_TAB WITH KEY NODID = P_NODE INTO LS_TAB. IF SY-SUBRC = 0. IF GV_FLAG = 'X' .

CLEAR:LS_TAB-NXTND, LS_TAB-UPNOD . ENDIF.

IF LS_TAB-BUKRS IS NOT INITIAL. R_BUKRS-SIGN = 'I' . R_BUKRS-OPTION = 'EQ' . R_BUKRS-LOW = LS_TAB-BUKRS . APPEND R_BUKRS . CLEAR R_BUKRS . ENDIF.

CLEAR GS_TAB .

MOVE-CORRESPONDING LS_TAB TO GS_TAB . APPEND GS_TAB TO GT_TAB .

IF GV_FLAG = 'X' AND LS_TAB-NXTND IS INITIAL . GV_FLAG = '' . ELSE.

* 下一个同级节点

PERFORM FRM_COLLECT_NODE USING LS_TAB-NXTND CHANGING P_TAB . ENDIF.

* 下一级节点

PERFORM FRM_COLLECT_NODE USING LS_TAB-DWNOD CHANGING P_TAB . ENDIF.

ENDFORM. \

*&-------------------------------------------------------------------

--*

*& Form FRM_SUBROUTINES

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text * <-- p2 text

*----------------------------------------------------------------------*

FORM FRM_SUBROUTINES . PERFORM FRM_DATA_GET . PERFORM FRM_DATA_PROCESS .

ENDFORM. \

*&---------------------------------------------------------------------*

*& Form FRM_DATA_GET

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text * <-- p2 text

*----------------------------------------------------------------------*

FORM FRM_DATA_GET .

DATA:LV_DATE TYPE SY-DATUM . DATA:LV_TABIX TYPE SY-TABIX .

REFRESH: GT_TCJ_POSITIONS ,GT_TCJ_DOCUMENTS,GT_TCJ_TRANSACTIONS,GT_TCJ_TRANS_NAMES,GT_BNKA .

* 确定日期

IF S_BUDAT-HIGH IS NOT INITIAL. LV_DATE = S_BUDAT-HIGH . ELSE.

LV_DATE = S_BUDAT-LOW . ENDIF.

IF GT_T001[] IS NOT INITIAL .

SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_TCJ_DOCUMENTS FROM TCJ_DOCUMENTS AS A

INNER JOIN T012K AS

B ON B~BCJNR = A~CAJO_NUMBER AND A~COMP_CODE = B~BUKRS

FOR ALL ENTRIES IN GT_T001

WHERE A~COMP_CODE IN S_BUKRS

AND A~COMP_CODE = GT_T001-BUKRS

AND A~POSTING_DATE <= LV_DATE

* AND a~posting_date IN s_budat

* AND ( a~document_status = 'P'

* OR a~document_status = 'R' ).

AND A~DOCUMENT_STATUS = 'S'.

* AND B~FUNAC IN S_FUNAC

* AND b~hbkid IN s_hbkid. ELSE.

SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_TCJ_DOCUMENTS FROM TCJ_DOCUMENTS AS A

INNER JOIN T012K AS B ON B~BCJNR = A~CAJO_NUMBER AND A~COMP_CODE = B~BUKRS

WHERE A~COMP_CODE IN S_BUKRS

AND A~POSTING_DATE <= LV_DATE

* AND a~posting_date IN s_budat

AND A~DOCUMENT_STATUS = 'S'.

* AND ( a~document_status = 'P'

* OR a~document_status = 'R' ).

* AND B~FUNAC IN S_FUNAC

* AND b~hbkid IN s_hbkid. ENDIF.

IF GT_TCJ_DOCUMENTS[] IS NOT INITIAL .

* SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_tcj_positions FROM tcj_positions \现金日记帐凭证项目

* FOR ALL ENTRIES IN gt_tcj_documents

* WHERE comp_code = gt_tcj_documents-comp_code

* AND cajo_number = gt_tcj_documents-cajo_number

* AND fisc_year = gt_tcj_documents-fisc_year

* AND posting_number = gt_tcj_documents-posting_number

* AND ( transact_type = 'E' OR transact_type = 'R' ).

*-------------代码优化---------------------------------------------------------------------------------------

SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_TCJ_POSITIONS FROM TCJ_POSITIONS \现金日记帐凭证项目

WHERE COMP_CODE IN R_BUKRS

* AND posting_date IN s_budat

AND POSTING_DATE <= LV_DATE

AND ( TRANSACT_TYPE = 'E' OR TRANSACT_TYPE = 'R' ).

IF GT_TCJ_POSITIONS[] IS NOT INITIAL .

* 排除BUKRS(公司代码)=SH01、CJBELNR(Cash Journal Document Number)=A016

的数据*

* LOOP AT gt_tcj_positions WHERE comp_code = 'SH01' . * lv_tabix = sy-tabix .

* IF gt_tcj_positions-posting_number(4) = 'A016'. * DELETE gt_tcj_positions INDEX lv_tabix . * CONTINUE. * ENDIF.

** READ TABLE gt_tcj_documents TRANSPORTING NO FIELDS WITH KEY comp_code = gt_tcj_positions-comp_code \优化

** cajo_number = gt_tcj_positions-cajo_number

**


SAP动态树程序Dialog ALV报表(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:交通安全设施开工报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: