fisc_year = gt_tcj_positions-fisc_year
** posting_number = gt_tcj_positions-posting_number. ** IF sy-subrc NE 0.
** DELETE gt_tcj_positions INDEX lv_tabix . ** ENDIF. * ENDLOOP. *-------------------
SORT GT_TCJ_DOCUMENTS BY COMP_CODE CAJO_NUMBER FISC_YEAR POSTING_NUMBER.
LOOP AT GT_TCJ_POSITIONS. LV_TABIX = SY-TABIX .
IF GT_TCJ_POSITIONS-POSTING_NUMBER(4) = 'A016' AND GT_TCJ_POSITIONS-COMP_CODE = 'SH01'.
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
FISC_YEAR = GT_TCJ_POSITIONS-FISC_YEAR
POSTING_NUMBER = GT_TCJ_POSITIONS-POSTING_NUMBER
BINARY SEARCH.
IF SY-SUBRC NE 0.
DELETE GT_TCJ_POSITIONS INDEX LV_TABIX . ENDIF. ENDLOOP. *-------------------
IF GT_TCJ_POSITIONS[] IS INITIAL .
MESSAGE '没有符合条件的数据' TYPE 'S' DISPLAY LIKE 'E' . LEAVE TO SCREEN 0 . ELSE.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_TCJ_TRANSACTIONS FROM TCJ_TRANSACTIONS \现金日记帐交易业务
FOR ALL ENTR
代码优化 BY AB_ZHUXG-------------------------------------------------------
代码优化 BY AB_ZHUXG-------------------------------------------------------
IES IN GT_TCJ_POSITIONS
WHERE COMP_CODE = GT_TCJ_POSITIONS-COMP_CODE
AND TRANSACT_NUMBER = GT_TCJ_POSITIONS-TRANSACT_NUMBER .
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_TCJ_TRANS_NAMES FROM TCJ_TRANS_NAMES \现金日记帐交易业务名称
FOR ALL ENTRIES IN GT_TCJ_POSITIONS
WHERE COMP_CODE = GT_TCJ_POSITIONS-COMP_CODE
AND TRANSACT_NUMBER = GT_TCJ_POSITIONS-TRANSACT_NUMBER . ENDIF. ENDIF.
* SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_t012k FROM t012k * FOR ALL ENTRIES IN gt_tcj_documents
* WHERE bcjnr = gt_tcj_documents-cajo_number
* AND bukrs = gt_tcj_documents-comp_code .
*-----------------代码优化BY AB_ZHUXG------------------------------------------------------. DATA: LT_DOCUMENTS TYPE TABLE OF TCJ_DOCUMENTS. LT_DOCUMENTS = GT_TCJ_DOCUMENTS[].
SORT LT_DOCUMENTS BY COMP_CODE CAJO_NUMBER.
DELETE ADJACENT DUPLICATES FROM LT_DOCUMENTS COMPARING COMP_CODE CAJO_NUMBER.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_T012K FROM T012K FOR ALL ENTRIES IN LT_DOCUMENTS
WHERE BCJNR = LT_DOCUMENTS-CAJO_NUMBER
AND BUKRS = LT_DOCUMENTS-COMP_CODE .
*-----------------代码优化BY AB_ZHUXG------------------------------------------------------. IF GT_T012K[] IS NOT INITIAL.
SELECT T012~BUKRS T012~HBKID
T012~BANKS T012~BANKL T012~TELF1 T012~STCD1 T012~NAME1 T012~SPRAS BNKA~BANKA
INTO CORRESPONDING FIELDS OF TABLE GT_T012 FROM T012 INNER JOIN BNKA ON BNKA~BANKS = T012~BANKS
AND BNKA~BANKL = T012~BANKL
FOR ALL ENTRIES IN GT_T012K
WHERE T012~HBKID = GT_T012K-HBKID
* AND t012~hbkid = gt_t012k-hktid
AND T012~BUKRS = GT_T012K-BUKRS .
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ZFIE1002 FROM ZFIE1002
FOR ALL ENTRIES IN GT_T012K
WHERE FUNAC = GT_T012K-FUNAC
AND ACATR = GT_T012K-ACATR . ENDIF. ELSE.
MESSAGE '没有符合条件的数据' TYPE 'S' DISPLAY LIKE 'E' . LEAVE TO SCREEN 0 . ENDIF.
ENDFORM. \
*&---------------------------------------------------------------------*
*& Form FRM_DATA_PROCESS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text * <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DATA_PROCESS .
DATA: LV_TABIX TYPE SY-TABIX , LV_TABIX1 TYPE SY-TABIX , LV_TABIX2 TYPE SY-TABIX, LV_TABIX3 TYPE SY-TABIX, LV_CJAMOUNT TYPE CJAMOUNT , LV_UPNOD TYPE ZFIUPNOD. DATA LS_T012K TYPE T012K. DATA: LV_AWKEY TYPE AWKEY, LS_BKPF TYPE BKPF, LS_FAGLFLEXA TYPE FAGLFLEXA.
DATA:LT_TCJ_CJ_NAMES TYPE TABLE OF TCJ_CJ_NAMES, LS_TCJ_CJ_NAMES TYPE TCJ_CJ_NAMES.
REFRESH WT_TAB .
CLEAR:GS_TAB, LV_CJAMOUNT .
REFRESH LT_TCJ_CJ_NAMES[].
SELECT * INTO TABLE LT_TCJ_CJ_NAMES FROM TCJ_CJ_NAMES WHERE LANGU = '1'
AND COMP_CODE IN S_BUKRS.
LOOP AT GT_TCJ_POSITIONS ASSIGNING
READ TABLE GT_T012K WITH KEY BCJNR =
READ TABLE GT_T012 WITH KEY HBKID = GT_T012K-HBKID BUKRS = GT_T012K-BUKRS . IF SY-SUBRC = 0 .
READ TABLE GT_ZFIE1002 WITH KEY FUNAC = GT_T012K-FUNAC ACATR = GT_T012K-ACATR . IF SY-SUBRC = 0 .
DELETE GT_TCJ_POSITIONS INDEX LV_TABIX.
ENDIF. ENDLOOP.
DELETE GT_TCJ_POSITIONS WHERE ACATR IS INITIAL .
SORT GT_TCJ_POSITIONS BY POSTING_DATE . LOOP AT GT_TCJ_POSITIONS ASSIGNING
* ws_tab-upnod =
WS_TAB-HBKID =
LV_CJAMOUNT =
IF WS_TAB-UPNOD IS NOT INITIAL. WS_TAB-RCFLG = 'X' . ENDIF.
READ TABLE LT_TCJ_CJ_NAMES INTO LS_TCJ_CJ_NAMES WITH KEY COMP_CODE =
CAJO_NUMBER =
WS_TAB-KHHT = LS_TCJ_CJ_NAMES-CAJO_NAME . WS_TAB-BCJNR = LS_TCJ_CJ_NAMES-CAJO_NUMBER. ENDIF.
READ TABLE GT_T012K INTO LS_T012K WITH KEY BUKRS =
IF LS_T012K-FUNAC = 'A' .\可动用可划拨
WS_TAB-ZJLB = '可动用可划拨' .
ELSEIF LS_T012K-FUNAC = 'B' .\可动用不可划拨
WS_TAB-ZJLB = '可动用不可划拨' .
ELSEIF LS_T012K-FUNAC = 'C' .\不可动用