Professional Documents
Culture Documents
BDC - Dynpro: Perform Using
BDC - Dynpro: Perform Using
bdc_dynpro USING 'SAPMF05A' '0122'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RF05A-NEWKO'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '/00'.
* PERFORM bdc_field USING 'BKPF-BLDAT'
* lv_post_dt. "'06/30
/2021'.
* PERFORM bdc_field USING 'BKPF-BLART'
* gc_ab. "'AB'.
* PERFORM bdc_field USING 'BKPF-BUKRS'
* <ls_final>-bukrs. "'180
0'.
* PERFORM bdc_field USING 'BKPF-BUDAT'
* lv_post_dt. "'06/30
/2021'.
* PERFORM bdc_field USING 'BKPF-WAERS'
* gc_usd. "'USD'
.
*
* CLEAR: lv_text1, lv_text2, lv_xblnr, lv_bktxt.
* SPLIT <ls_final>-ktext AT space INTO lv_text1 lv_text2.
* MOVE: lv_text1 TO lv_xblnr.
*
* PERFORM bdc_field USING 'BKPF-XBLNR'
* lv_xblnr. "'Test
'.
*
* CONCATENATE lv_text1 space sy-datum+4(2) '-' sy-datum+0(4)
* INTO lv_bktxt.
* PERFORM bdc_field USING 'BKPF-BKTXT'
* lv_bktxt. "'Test
Post'.
* PERFORM bdc_field USING 'FS006-DOCID'
* '*'.
* PERFORM bdc_field USING 'RF05A-NEWBS'
* gc_50. "'50'.
*
* DATA(lv_zhkont) = VALUE #( gt_bos_suppl[ bukrs = <ls_final>-bukrs
* lifnr = <ls_final>-lifnr
]-zhkont OPTIONAL ).
* PERFORM bdc_field USING 'RF05A-NEWKO'
* lv_zhkont. "'222050'
.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'BSEG-WRBTR'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=ZK'.
*
* CLEAR: lv_amount.
* MOVE: <ls_final>-dmbtr TO lv_amount.
* CONDENSE: lv_amount.
*
* PERFORM bdc_field USING 'BSEG-WRBTR'
* lv_amount. "'70011'.
* PERFORM bdc_field USING 'DKACB-FMORE'
* 'X'.
* PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'COBL-PRCTR'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=ENTE'.
* PERFORM bdc_field USING 'COBL-PRCTR'
* <ls_final>-prctr. "'00
01802794'.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0330'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'BSEG-CCBTC'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=PA'.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0710'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RF05A-XPOS1(04)'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=PA'.
* PERFORM bdc_field USING 'RF05A-AGBUK'
* <ls_final>-bukrs. "'180
0'.
* PERFORM bdc_field USING 'RF05A-AGKON'
* <ls_final>-lifnr. "'100003'.
* PERFORM bdc_field USING 'RF05A-AGKOA'
* 'K'.
* PERFORM bdc_field USING 'RF05A-XNOPS'
* 'X'.
* PERFORM bdc_field USING 'RF05A-XPOS1(01)'
* ''.
* PERFORM bdc_field USING 'RF05A-XPOS1(04)'
* 'X'.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0732'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RF05A-BISDT(01)'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=PA'.
* PERFORM bdc_field USING 'RF05A-VONDT(01)'
* lv_from_dt. "'06/10
/2021'.
* PERFORM bdc_field USING 'RF05A-BISDT(01)'
* lv_to_dt. "'06/1
0/2021'.
* PERFORM bdc_dynpro USING 'SAPDF05X' '3100'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=BU'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'DF05B-PSSKT(01)'.
* PERFORM bdc_field USING 'RF05A-ABPOS'
* '1'.
PERFORM update_ltext.
* PERFORM fcat USING 'PRCTR' '10' '5' abap_true abap_false abap_false TEXT
-t06.
* PERFORM fcat USING 'KTEXT' '40' '6' abap_true abap_false abap_false TEXT
-t07.
FORM update_ltext.
DATA: ls_header TYPE thead,
ls_head_rev TYPE thead,
lt_txt_lines TYPE TABLE OF tline.
CONSTANTS: lc_tdid TYPE thead-tdid VALUE '0001',
lc_001 TYPE buzei VALUE '001',
lc_object TYPE thead-tdobject VALUE 'DOC_ITEM'.
LOOP AT gt_final ASSIGNING FIELD-SYMBOL(<ls_final>).
ls_header-tdid = lc_tdid.
ls_header-tdobject = lc_object.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = <ls_final>-belnr
IMPORTING
output = <ls_final>-belnr.
ls_header-tdname = |{ <ls_final>-bukrs }{ <ls_final>-belnr }{ sy-
datum+0(4) }{ lc_001 }|.
ls_header-tdspras = sy-langu.
LOOP AT gt_bsik INTO gs_bsik WHERE lifnr = <ls_final>-lifnr.
CONCATENATE gs_bsik-budat+0(4) gs_bsik-budat+4(2) gs_bsik-budat+6(2) INT
O DATA(lv_dat).
APPEND VALUE #( tdline = |{ gc_ap } { gs_bsik-belnr } { lv_dat } { gs_bs
ik-dmbtr }| ) TO lt_txt_lines.
ENDLOOP.
IF NOT lt_txt_lines IS INITIAL.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
client = sy-mandt
header = ls_header
insert = abap_true
savemode_direct = abap_true
IMPORTING
newheader = ls_header
TABLES
lines = lt_txt_lines
EXCEPTIONS
id = 1
language = 2
name = 3
object = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
CLEAR: ls_header.
REFRESH lt_txt_lines.
ENDLOOP.
ENDFORM.
IF NOT s_prctr[] IS INITIAL.
SELECT COUNT(*)
FROM cepc
WHERE prctr IN @s_prctr[].
IF sy-subrc NE 0.
MESSAGE TEXT-004 TYPE gc_e.
ENDIF.
ENDIF.