TYPES: BEGIN OF GTY_S_POSTAB. "Begin of S2I INCLUDE STRUCTURE AIMTV. TYPES: OBJNR LIKE ANLA-OBJNR, " merker co-objekt ZAEHL LIKE SY-TABIX, " indexzaehler WORKF(1) TYPE C, " value ' ', " workflag = x wenn bureg bearb. AMPEL(1) TYPE C, "value '0', " alv ampel "4.6c XEXTEND_AFABE TYPE XFELD. TYPES: END OF GTY_S_POSTAB. TYPES: GTY_T_POSTAB TYPE STANDARD TABLE OF GTY_S_POSTAB. DATA: BUREG LIKE COBRB-BUREG, " Buchungeregelgruppe HLP_BUREG LIKE COBRB-BUREG, " Hilfsfeld bureg FLG_MULTI_BUREG TYPE P. " Merker versch. bureg DATA: I(5) TYPE N. " Schleifenzaehler DATA: LT_MESSTAB TYPE TABLE OF BDCMSGCOLL. DATA: LV_MODE TYPE CHAR1 VALUE 'Q', LV_UPDATE TYPE CHAR1 VALUE 'S'. DATA: POSTAB TYPE GTY_T_POSTAB WITH HEADER LINE. FIELD-SYMBOLS: <LT_DATA> TYPE STANDARD TABLE. DATA LS_DATA TYPE REF TO DATA. CALL METHOD CL_SALV_BS_RUNTIME_INFO=>SET EXPORTING DISPLAY = ABAP_FALSE METADATA = ABAP_FALSE DATA = ABAP_TRUE. PERFORM BDC_DYNPRO_POPUP USING 'SAPMA15B' '0110'. PERFORM BDC_FIELD_POPUP USING 'BDC_CURSOR' 'AICOM-BUKRS'. PERFORM BDC_FIELD_POPUP USING 'BDC_OKCODE' '=AUSF'. PERFORM BDC_FIELD_POPUP USING 'AICOM-BUKRS' IS_HEAD-BUKRS."record-BUKRS_001."公司代码 PERFORM BDC_FIELD_POPUP USING 'AICOM-ANLN1' IS_HEAD-ANLN1."record-ANLN1_002."资产 PERFORM BDC_FIELD_POPUP USING 'AICOM-ANLN2' IS_HEAD-ANLN2."record-ANLN2_003."次级编号 PERFORM BDC_FIELD_POPUP USING 'P_DISVAR' '1SAP'."record-P_DISVAR_004."格式 PERFORM BDC_FIELD_POPUP USING 'ANLB-AFABE' '01'."record-AFABE_005."折旧范围 PERFORM BDC_DYNPRO_POPUP USING 'SAPMSSY0' '0120'. PERFORM BDC_FIELD_POPUP USING 'BDC_CURSOR' '07/03'. CALL TRANSACTION 'AIAB' USING GTS_BDCDATA MODE LV_MODE UPDATE LV_UPDATE MESSAGES INTO LT_MESSTAB. TRY. CALL METHOD CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF IMPORTING R_DATA = LS_DATA. ASSIGN LS_DATA->* TO <LT_DATA>. CATCH CX_SALV_BS_SC_RUNTIME_INFO. * MESSAGE '没有满足条件的数据' TYPE 'E'. ENDTRY. CL_SALV_BS_RUNTIME_INFO=>CLEAR_ALL( ). IF <LT_DATA> IS ASSIGNED. LOOP AT <LT_DATA> ASSIGNING FIELD-SYMBOL(<FS_DATA>). MOVE-CORRESPONDING <FS_DATA> TO POSTAB. APPEND POSTAB. ENDLOOP. ENDIF. LOOP AT POSTAB. BUREG = POSTAB-BUREG. I = I + 1. IF I = 1. HLP_BUREG = BUREG. " Init 1. Durchlauf ENDIF. IF BUREG NE HLP_BUREG. HLP_BUREG = BUREG. FLG_MULTI_BUREG = 1. " mind. 2 versch. Buregs ENDIF. ENDLOOP. IF FLG_MULTI_BUREG EQ 1. " versch. Buregs - > BUREG = 0. " dann mit 0 aufrufen ENDIF. IF FLG_MULTI_BUREG EQ 0 AND " Warnung, wenn Posten BUREG NE 0. IV_FLAG = 'X'. ENDIF.
标签:BDC,PERFORM,TYPE,BUREG,USING,AIAB,DATA,弹窗 From: https://www.cnblogs.com/Anyohh233/p/18089283