FORM frm_upload2 USING value(ps_i_tabindex) LIKE sy-tabix
value(pc_i_fieldname) TYPE slis_fieldname
CHANGING
value(l_subrc) LIKE sy-subrc
value(l_msgtx) TYPE msgtx.
CLEAR:l_subrc,l_msgtx,g_lines.
DATA:
lt_inforecord_general LIKE STANDARD TABLE OF eina WITH HEADER LINE,
lt_inforecord_purchorg LIKE STANDARD TABLE OF eine WITH HEADER LINE,
lt_query LIKE STANDARD TABLE OF rsdswhere WITH HEADER LINE,
lt_query_eina LIKE STANDARD TABLE OF rsdswhere WITH HEADER LINE.
DATA:
wa_eina LIKE eina,
wa_eine LIKE eine.
DATA:
l_meins TYPE meins.
DATA:
ls_datab(10) TYPE c,
ls_datbi(10) TYPE c.
READ TABLE gt_list WITH KEY sel = 'X'.
IF sy-subrc <> 0.
l_subrc = 0.
l_msgtx = 'Please select at least one record'.
RETURN.
ENDIF.
LOOP AT gt_list WHERE sel = 'X' AND ensel = 'X'.
g_lines = g_lines + 1.
ENDLOOP.
FIELD-SYMBOLS:<f_list> LIKE LINE OF gt_list.
LOOP AT gt_list ASSIGNING <f_list> WHERE sel = 'X' AND ensel = 'X'.
g_tabix = sy-tabix.
CALL FUNCTION 'ZFM_SHOW_PROGRESSBAR'
EXPORTING
text = 'Converting...'
curr_num = g_tabix
total_num = g_lines.
REFRESH:
lt_inforecord_general,
lt_inforecord_purchorg,
lt_query,
lt_query_eina.
CLEAR:
wa_eina,
wa_eine.
CALL FUNCTION 'INFORECORD_GETLIST'
EXPORTING
vendor = <f_list>-lifnr
material = <f_list>-matnr
purch_org = <f_list>-ekorg
info_type = <f_list>-esokz
plant = <f_list>-werks
TABLES
inforecord_general = lt_inforecord_general
inforecord_purchorg = lt_inforecord_purchorg
t_query = lt_query
t_query_eina = lt_query_eina
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO l_msgtx.
l_subrc = sy-subrc.
<f_list>-msg = 'Read info rec. error'.
CLEAR <f_list>-ensel.
<f_list>-icon = icon_led_red.
CONTINUE.
ENDIF.
IF lt_inforecord_general[] IS NOT INITIAL.
READ TABLE lt_inforecord_general INDEX 1.
MOVE-CORRESPONDING lt_inforecord_general TO wa_eina.
ENDIF.
IF lt_inforecord_purchorg[] IS NOT INITIAL.
READ TABLE lt_inforecord_purchorg INDEX 1.
MOVE-CORRESPONDING lt_inforecord_purchorg TO wa_eine.
ENDIF.
CHECK wa_eina IS NOT INITIAL AND wa_eine IS NOT INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_eina-meins
language = sy-langu
IMPORTING
output = l_meins
EXCEPTIONS
unit_not_found = 1
OTHERS = 2.
"BDC
REFRESH:bdc_tab,mesgitab.
PERFORM frm_create_bdctab USING:
'X' 'SAPMM06I' '0100' ,
' ' 'EINA-LIFNR' wa_eina-lifnr,
' ' 'EINA-MATNR' <f_list>-newmt,
' ' 'EINE-EKORG' wa_eine-ekorg,
' ' 'EINE-WERKS' wa_eine-werks,
' ' 'EINA-INFNR' '',
' ' 'RM06I-NORMB' 'X',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMM06I' '0101' ,
' ' 'EINA-MAHN1' wa_eina-mahn1,
' ' 'EINA-MAHN2' wa_eina-mahn2,
' ' 'EINA-MAHN3' wa_eina-mahn3,
' ' 'EINA-IDNLF' wa_eina-idnlf,
' ' 'EINA-LTSNR' wa_eina-ltsnr,
"' ' 'EINA-LTSSF' wa_eina-ltssf,
' ' 'EINA-WGLIF' wa_eina-wglif,
' ' 'EINA-ANZPU' wa_eina-anzpu,
' ' 'EINA-PUNEI' wa_eina-punei,
' ' 'EINA-VERKF' wa_eina-verkf,
' ' 'EINA-TELF1' wa_eina-telf1,
' ' 'EINA-RUECK' wa_eina-rueck,
' ' 'EINA-KOLIF' wa_eina-kolif,
"' ' 'EINA-MEINS' l_meins,
' ' 'EINA-UMREN' wa_eina-umren,
' ' 'EINA-UMREZ' wa_eina-umrez,
' ' 'EINA-VABME' wa_eina-vabme,
' ' 'EINA-URZTP' wa_eina-urztp,
' ' 'EINA-URZNR' wa_eina-urznr,
"' ' 'EINA-URZDT' wa_eina-urzdt,
' ' 'EINA-URZLA' wa_eina-urzla,
' ' 'EINA-REGIO' wa_eina-regio,
' ' 'EINA-URZZT' wa_eina-urzzt,
' ' 'EINA-MFRNR' wa_eina-mfrnr,
"' ' 'EINA-LIFAB' wa_eina-lifab,
"' ' 'EINA-LIFBI' wa_eina-lifbi,
' ' 'EINA-RELIF' wa_eina-relif,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMM06I' '0102',
' ' 'EINE-APLFZ' wa_eine-aplfz,
' ' 'EINE-EKGRP' wa_eine-ekgrp,
' ' 'EINE-NORBM' wa_eine-norbm,
' ' 'EINE-MINBM' wa_eine-minbm,
' ' 'EINE-MHDRZ' wa_eine-mhdrz,
' ' 'EINE-IPRKZ' wa_eine-iprkz,
' ' 'EINE-EVERS' wa_eine-evers,
' ' 'EINE-BWTAR' wa_eine-bwtar,
' ' 'EINE-BSTMA' wa_eine-bstma,
' ' 'EINE-UNTTO' wa_eine-untto,
' ' 'EINE-UEBTO' wa_eine-uebto,
' ' 'EINE-MTXNO' wa_eine-mtxno,
' ' 'EINE-KZABS' wa_eine-kzabs,
' ' 'EINE-UEBTK' wa_eine-uebtk,
' ' 'EINE-WEBRE' wa_eine-webre,
' ' 'EINE-XERSN' wa_eine-xersn,
' ' 'EINE-BSTAE' wa_eine-bstae,
' ' 'EINE-MWSKZ' wa_eine-mwskz,
' ' 'EINE-EXPRF' wa_eine-exprf,
' ' 'EINE-MEGRU' wa_eine-megru,
' ' 'EINE-RDPRF' wa_eine-rdprf,
' ' 'EINE-NETPR' wa_eine-netpr,
' ' 'EINE-WAERS' wa_eine-waers,
' ' 'EINE-PEINH' wa_eine-peinh,
' ' 'EINE-BPUMN' wa_eine-bpumn,
' ' 'EINE-BPUMZ' wa_eine-bpumz,
' ' 'EINE-SKTOF' wa_eine-sktof,
' ' 'EINE-BPUMN' wa_eine-bpumn,
' ' 'EINE-BPUMZ' wa_eine-bpumz,
' ' 'EINE-EKKOL' wa_eine-ekkol,
' ' 'EINE-MEPRF' wa_eine-meprf,
' ' 'EINE-INCO1' wa_eine-inco1,
' ' 'EINE-INCO2' wa_eine-inco2,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMM06I' '0105',
' ' 'BDC_OKCODE' '/00'.
IF <f_list>-werks IS NOT INITIAL.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
date_internal = <f_list>-datab
IMPORTING
date_external = ls_datab
EXCEPTIONS
date_internal_is_invalid = 1
OTHERS = 2.
IF sy-subrc <> 0.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
date_internal = sy-datum
IMPORTING
date_external = ls_datab
EXCEPTIONS
date_internal_is_invalid = 1
OTHERS = 2.
ENDIF.
PERFORM frm_create_bdctab USING:
'X' 'SAPMM06I' '0103',
' ' 'BDC_OKCODE' '=KO',
'X' 'SAPMV13A' '0201',
' ' 'BDC_OKCODE' '/00',
' ' 'RV13A-DATAB' ls_datab,
'X' 'SAPMV13A' '0201',
' ' 'BDC_OKCODE' '/00',
' ' 'RV13A-DATAB' ls_datab,
'X' 'SAPMV13A' '0201',
' ' 'BDC_OKCODE' '=BACK',
' ' 'RV13A-DATAB' ls_datab.
ENDIF.
PERFORM frm_create_bdctab USING:
'X' 'SAPMM06I' '0103',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPLSPO1' '0100',
' ' 'BDC_OKCODE' '=YES'.
CALL TRANSACTION 'ME11' USING bdc_tab MODE 'P' UPDATE 'S'
MESSAGES INTO mesgitab.
READ TABLE mesgitab WITH KEY msgtyp = 'E'.
IF sy-subrc = 0.
<f_list>-icon = icon_led_red.
<f_list>-msg = 'Error'.
ELSE.
<f_list>-icon = icon_led_green.
<f_list>-msg = 'Successful'.
READ TABLE mesgitab WITH KEY msgtyp = 'S' msgid = '06' msgnr = '331'.
IF sy-subrc = 0.
<f_list>-infnr_n = mesgitab-msgv1.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
Copy Vendor-Material Info Record Data(BDC)
最新推荐文章于 2024-01-08 11:42:28 发布