Sunteți pe pagina 1din 41

********************************************************************** * * * ******************************************** * * * VALE * * * * CONFIDENTIAL & PROPRIETARY * * * * ALL RIGHTS RESERVED * * * ******************************************** * * * ********************************************************************** * PROGRAM NAME : ZOVMMC_VENDOR * * PROGRAM

TITLE : VALE ABAP/4 REPORT * * DESCRIPTION : Conversion Vendor * * PROGRAMMER : Wanderson Moreira * * DATE : 06/09/2012 * * REQUEST : * * * *--------------------------------------------------------------------* * CHANGE LOG: * * CHG DATE AUTHOR FS ID TS ID REQUEST # DESCRIPTION * ********************************************************************** REPORT zovmmc_vendor. ********************************************************************** * T Y P E - P O O L S ********************************************************************** TYPE-POOLS: slis, truxs. ************************************************************************ * CONSTANTS (C_...) * ************************************************************************ CONSTANTS: k_x Campo c_s expresso Verdadeira c_n expresso Falsa c_select(18) ara tela do Windows. c_message_arq(55) m de Erro c_gr01(04) Group GR01 c_gr02(04) Group GR02 c_gr03(04) Group GR03 c_gr04(04) Group GR04 c_gr05(04) Group GR05 c_gr06(04) Group GR06 c_gr07(04) Group GR07 c_qland(03) TYPE c VALUE 'X', TYPE c VALUE 'S', TYPE c VALUE 'N', TYPE c VALUE 'Select File', "Flag o "Torna a "Torna a "Texto p

TYPE c VALUE 'Inform the path/filename',"Mensage TYPE c VALUE 'GR01', TYPE c VALUE 'GR02', TYPE c VALUE 'GR03', TYPE c VALUE 'GR04', TYPE c VALUE 'GR05', TYPE c VALUE 'GR06', TYPE c VALUE 'GR07', TYPE c VALUE '508'. "Account "Account "Account "Account "Account "Account "Account

************************************************************************ * INTERNAL TABLE (T_...) * ************************************************************************

* Tabela para receber a linha completa do arquivo DATA: BEGIN OF t_arq OCCURS 0, campo(5000), END OF t_arq. TYPES: BEGIN OF ty_vendor, * General data ktokk LIKE lfa1-ktokk, name1 LIKE lfa1-name1, name2 LIKE lfa1-name2, name3 LIKE lfa1-name3, name4 LIKE lfa1-name4, sort1 LIKE adrc-sort1, sort2 LIKE adrc-sort2, street LIKE adrc-street, str_suppl1 LIKE adrc-str_suppl1, str_suppl2 LIKE adrc-str_suppl2, str_suppl3 LIKE adrc-str_suppl3, house_num1 LIKE adrc-house_num1, house_num2 LIKE adrc-house_num2, city2 LIKE adrc-city2, post_code LIKE adrc-post_code1, city1 LIKE adrc-city1, country LIKE adrc-country, regio LIKE lfa1-regio, time_zone LIKE adrc-time_zone, lzone LIKE lfa1-lzone, fff sfrgr LIKE lfa1-sfrgr, post_code1 LIKE adrc-post_code1, po_box LIKE adrc-po_box, post_code2 LIKE adrc-post_code2, po_box_loc LIKE adrc-po_box_loc, post_code3 LIKE adrc-post_code3, langu LIKE adrc-langu, telf1 LIKE lfa1-telf1, tel_extens1 LIKE adrc-tel_extens, xtension) telf2 LIKE lfa1-telf2, telfx LIKE lfa1-telfx, fax_extens LIKE adrc-fax_extens, smtp_addr LIKE adr6-smtp_addr, remark LIKE adrct-remark, namev LIKE knvk-namev, name LIKE knvk-name1, abtnr LIKE knvk-abtnr, pafkt LIKE knvk-pafkt, telf LIKE knvk-telf1, smtp_addr1 LIKE adr6-smtp_addr, * Contact namev01 LIKE knvk-namev, name01 LIKE knvk-name1, abtnr01 LIKE knvk-abtnr, pafkt01 LIKE knvk-pafkt, telf01 LIKE knvk-telf1, smtp_addr01 LIKE adr6-smtp_addr, namev02 LIKE knvk-namev, name02 LIKE knvk-name1, abtnr02 LIKE knvk-abtnr, pafkt02 LIKE knvk-pafkt,

"Account Group "Name 1 "Name 2 "Name 3 "Name 3 "Search Term "Search Term2 "Street "STR SUPPL1 "STR SUPPL2 "STR SUPPL3 "Number "House number supplement "District "Postal Code "City "Country "Region "Time Zone "Transportation zone "Freight Group "PO Box "Postal Code "Other city "Company Postal Code "Language "Telephone Number "Telephone Number (e "Telephone Number 2 "Fax "Fax (extension) "Email "Comments "Name_1 "Name "Departament "Function "Phone "EMAIL "Name_1 "Name "Departament "Function "Phone "EMAIL "Name_1 "Name "Departament "Function

telf02 LIKE knvk-telf1, "Phone smtp_addr02 LIKE adr6-smtp_addr, "EMAIL namev03 LIKE knvk-namev, "Name_1 name03 LIKE knvk-name1, "Name abtnr03 LIKE knvk-abtnr, "Departament pafkt03 LIKE knvk-pafkt, "Function telf03 LIKE knvk-telf1, "Phone smtp_addr03 LIKE adr6-smtp_addr, "EMAIL namev04 LIKE knvk-namev, "Name_1 name04 LIKE knvk-name1, "Name abtnr04 LIKE knvk-abtnr, "Departament pafkt04 LIKE knvk-pafkt, "Function telf04 LIKE knvk-telf1, "Phone smtp_addr04 LIKE adr6-smtp_addr, "EMAIL * Company Code bukrs LIKE lfb1-bukrs, "Company Code kunnr LIKE lfa1-kunnr, "Customer vbund LIKE lfa1-vbund, "Trading Partner konzs LIKE lfa1-konzs, "Group key stcd1 LIKE lfa1-stcd1, "Tax Number 1 stcd2 LIKE lfa1-stcd2, "Tax Number 2 stcdt LIKE lfa1-stcdt, "Tax number type stcd3 LIKE lfa1-stcd3, "Tax Number 3 fityp LIKE lfa1-fityp, "Tax Type stcdt1 LIKE lfa1-stcdt, "Tax number type stkzn LIKE lfa1-stkzn, "Natural Person - Flag stceg LIKE lfa1-stceg, "VAT Reg. No. fisku LIKE lfa1-fisku, "Tax office stenr LIKE lfa1-stenr, "Tax number brsch LIKE lfa1-brsch, "Industry qssys LIKE lfa1-qssys, "Actual QM sys. qssysdat TYPE char10, "QM system to empfk LIKE lfza-empfk, "Payee akont LIKE lfb1-akont, "Reconciliation Account zuawa LIKE lfb1-zuawa, "Sort key lnrze LIKE lfb1-lnrze, "Head office fdgrv LIKE lfb1-fdgrv, "Cash mgmnt group mindk LIKE lfb1-mindk, "Minority indic. altkn LIKE lfb1-altkn, "Previous Account Nu mber pernr LIKE lfb1-pernr, "Personnel number zterm LIKE lfb1-zterm, "Payment Terms togru LIKE lfb1-togru, "Tolerance group reprf LIKE lfb1-reprf, "Check Flag for Doub le Invoices or Credit Memos zwels LIKE lfb1-zwels, "Payment methods zahls LIKE lfb1-zahls, "Payment block lnrzb LIKE lfb1-lnrzb, "Alternat.payee hbkid LIKE lfb1-hbkid, "House Bank uzawe LIKE lfb1-uzawe, "Pmt meth.supl. prepay_relevant LIKE lfb1-prepay_relevant, "Prepayment * Purchasing data ekorg LIKE lfm1-ekorg, "Purchasing organization waers LIKE lfm1-waers, "Currency zterm1 LIKE lfm1-zterm, "Terms of payment inco1 LIKE lfm1-inco1, "Incoterms inco2 LIKE lfm1-inco2, "Incoterms (Part 2) kalsk LIKE lfm1-kalsk, "Schema Group, Vend or webre LIKE lfm1-webre, "GR-Based Inv. Veri

f. kzaut LIKE lfm1-kzaut, lebre LIKE lfm1-lebre, cation bstae LIKE lfm1-bstae, END OF ty_vendor. TYPES: BEGIN OF ty_payment, lifnr LIKE lfa1-lifnr, banks LIKE lfbk-banks, bankl LIKE lfbk-bankl, bankn LIKE lfbk-bankn, koinh LIKE lfbk-koinh, iban LIKE tiban-iban, bvtyp LIKE lfbk-bvtyp, bkont LIKE lfbk-bkont, bkref LIKE lfbk-bkref, lnrza LIKE lfa1-lnrza, * dtaws LIKE lfa1-dtaws, * xezer LIKE lfbk-xezer, * swift LIKE bnka-swift, * xzemp LIKE lfa1-xzemp, * empfk LIKE lfza-empfk, END OF ty_payment. TYPES: BEGIN OF ty_pay_aux, lifnr LIKE lfa1-lifnr, lnrza LIKE lfa1-lnrza, END OF ty_pay_aux. TYPES: BEGIN OF ty_withholding, lifnr LIKE lfa1-lifnr, bukrs LIKE lfb1-bukrs, "ktokk LIKE lfa1-ktokk, qland LIKE lfb1-qland, witht LIKE lfbw-witht, wt_withcd LIKE lfbw-wt_withcd, wt_subjct LIKE lfbw-wt_subjct, qsrec LIKE lfbw-qsrec, wt_wtstcd LIKE lfbw-wt_wtstcd, wt_exnr(15) TYPE c, wt_exrt(7) TYPE c, wt_wtexrs LIKE lfbw-wt_wtexrs, wt_exdf LIKE lfbw-wt_exdf, wt_exdt LIKE lfbw-wt_exdt, END OF ty_withholding. TYPES: BEGIN OF ty_with_aux, lifnr LIKE lfa1-lifnr, bukrs LIKE lfb1-bukrs, ktokk LIKE lfa1-ktokk, qland LIKE lfb1-qland, cont TYPE i, END OF ty_with_aux. TYPES: BEGIN OF ty_partner, lifnr LIKE lfa1-lifnr, ekorg LIKE lfm1-ekorg, parvw LIKE wyt3-parvw, lifn2 LIKE wyt3-lifn2, "Confirmation Key "Automatic PO "Service-Based Invoice Verifi

END OF ty_partner. TYPES: BEGIN OF ty_gdcc, ekorg LIKE lfm1-ekorg, lifnr LIKE lfb1-lifnr, bukrs LIKE lfb1-bukrs, akont LIKE lfb1-akont, zuawa LIKE lfb1-zuawa, lnrze LIKE lfb1-lnrze, fdgrv LIKE lfb1-fdgrv, mindk LIKE lfb1-mindk, altkn LIKE lfb1-altkn, pernr LIKE lfb1-pernr, zterm LIKE lfb1-zterm, togru LIKE lfb1-togru, reprf LIKE lfb1-reprf, zwels LIKE lfb1-zwels, zahls LIKE lfb1-zahls, lnrzb LIKE lfb1-lnrzb, hbkid LIKE lfb1-hbkid, uzawe LIKE lfb1-uzawe, prepay_relevant LIKE lfb1-prepay_relevant, waers LIKE lfm1-waers, inco1 LIKE lfm1-inco1, inco2 LIKE lfm1-inco2, kalsk LIKE lfm1-kalsk, webre LIKE lfm1-webre, kzaut LIKE lfm1-kzaut, lebre LIKE lfm1-lebre, bstae LIKE lfm1-bstae, END OF ty_gdcc. DATA: t_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE, t_vendor TYPE TABLE OF ty_vendor, t_gdcc TYPE TABLE OF ty_gdcc, t_payment TYPE TABLE OF ty_payment WITH HEADER LINE, t_pay_aux TYPE TABLE OF ty_pay_aux WITH HEADER LINE, t_partner TYPE TABLE OF ty_partner, t_withholding TYPE TABLE OF ty_withholding WITH HEADER LINE, t_with_aux TYPE TABLE OF ty_with_aux WITH HEADER LINE. ************************************************************************ * STRUCTURE DEFINITION * ************************************************************************ DATA: wa_vendor TYPE ty_vendor, "Estrutura de Fornecedor wa_gdcc TYPE ty_gdcc, "Estrutura de Extens GD+ CC+LOAD TEMPLATE wa_payment TYPE ty_payment, "Estrutura de payment wa_pay_aux TYPE ty_pay_aux, "Estrutura de payment auxiliary wa_partner TYPE ty_partner, "Estrutura de partner wa_withholding TYPE ty_withholding, "Estrutura de withholding wa_with_aux TYPE ty_with_aux. "Estrutura de withholding auxiliary ************************************************************************ * GLOBAL VARIABLES (V_...) * * LOCAL VARIABLES (L_...) * ************************************************************************ DATA: g_arquivo LIKE rlgrap-filename, g_caminho TYPE string, g_linha TYPE i,

g_pst(01) TYPE c, g_group TYPE lfa1-ktokk, g_ekorg TYPE lfm1-ekorg, g_bukrs TYPE lfb1-bukrs. ************************************************************************ * SCREEN PARAMETERS: * * SELECT OPTIONS (S_...) * * PARAMETERS (P_...) * ************************************************************************ SELECTION-SCREEN BEGIN OF BLOCK c1 WITH FRAME TITLE text-002. PARAMETERS: p_01 RADIOBUTTON GROUP rb01 DEFAULT 'X' USER-COMMAND muda_tela,"Vend or p_02 RADIOBUTTON GROUP rb01. "Exte nsions SELECTION-SCREEN END OF BLOCK c1. SELECTION-SCREEN BEGIN OF BLOCK c2 WITH FRAME TITLE text-003. PARAMETERS: p_03 RADIOBUTTON GROUP ex MODIF ID t1, ns GD+ CC+Load Template p_04 RADIOBUTTON GROUP ex MODIF ID t1, ns GD+CC+PUR Load Template p_05 RADIOBUTTON GROUP ex MODIF ID t1, ent transaction p_06 NO-DISPLAY, "RADIOBUTTON GROUP ex MODIF ID t1, "Partner function p_07 RADIOBUTTON GROUP ex MODIF ID t1. holding tax SELECTION-SCREEN END OF BLOCK c2. SELECTION-SCREEN BEGIN OF BLOCK c3 WITH FRAME TITLE text-001. PARAMETERS: p_unix RADIOBUTTON GROUP proc USER-COMMAND ler, g_arquivo no Servidor Unix p_win RADIOBUTTON GROUP proc DEFAULT 'X'. g_arquivo na maquina Local SELECTION-SCREEN SKIP. PARAMETERS: p_arq LIKE rlgrap-filename, nho para o g_arquivo de dados principais p_pasta LIKE apqi-groupid DEFAULT 'FORNEC'. a que ser criada a SM35 SELECTION-SCREEN END OF BLOCK c3. AT SELECTION-SCREEN OUTPUT. IF p_01 EQ 'X'. LOOP AT SCREEN. IF screen-group1 = 'T1'. screen-invisible = 1. screen-input = 0. screen-active = 0. MODIFY SCREEN. CLEAR p_arq. CONTINUE. ENDIF. ENDLOOP. ELSEIF p_02 EQ 'X'. LOOP AT SCREEN. IF screen-group1 = 'T1'. screen-invisible = 0. screen-input = 1. screen-active = 1. "Exte "Exte "Paym

"With

"Ler "Ler "Cami "Past

MODIFY SCREEN. CLEAR p_arq. CONTINUE. ENDIF. ENDLOOP. ENDIF. ************************************************************************ * A T S E L E C T I O N S C R E E N ************************************************************************ AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_arq. PERFORM f4help_applserver_fname CHANGING p_arq. ************************************************************************ * S T A R T O F S E L E C T I O N ************************************************************************ START-OF-SELECTION. IF p_arq IS INITIAL. * Exibi Mensagem de Erro: Informar o caminho/nome do g_arquivo. MESSAGE c_message_arq TYPE 'I' DISPLAY LIKE 'E'. STOP. ELSE. PERFORM f_verifica_caminho. ENDIF. PERFORM: f_init. IF p_01 EQ 'X'. PERFORM f_monta_saida_vendor. ELSEIF p_02 EQ 'X'. PERFORM f_monta_saida_extensions. ENDIF. PERFORM f_imprime_log. ************************************************************************ * E N D O F S E L E C T I O N ************************************************************************ END-OF-SELECTION. ************************************************************************ * F O R M S ************************************************************************ *----------------------------------------------------------------------* * Form F_VERIFICA_CAMINHO *----------------------------------------------------------------------* FORM f_verifica_caminho . * perform que monta o relogio na tela PERFORM f_indicar_progresso USING 'Loading File...' '10'. ENDFORM. " F_VERIFICA_CAMINHO *----------------------------------------------------------------------* * Form F_INIT *----------------------------------------------------------------------* FORM f_init . CLEAR : t_arq. g_arquivo = p_arq. g_caminho = p_arq. OPEN DATASET g_arquivo IN TEXT MODE FOR INPUT ENCODING NON-UNICODE. IF sy-subrc = 0. DO. READ DATASET g_arquivo INTO t_arq.

IF sy-subrc EQ 0. APPEND t_arq. CLEAR t_arq. ELSE. EXIT. ENDIF. ENDDO. DESCRIBE TABLE t_arq LINES g_linha. IF g_linha = 0. MESSAGE i002(sy) WITH 'Error writing File !!! '. STOP. ENDIF. CLOSE DATASET g_arquivo. ELSEIF sy-subrc EQ 8. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = g_caminho filetype = 'ASC' TABLES data_tab = t_arq EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11 unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. 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. ENDFORM. " F_INIT *----------------------------------------------------------------------* * FORM INDICAR_PROGRESSO * *----------------------------------------------------------------------* FORM f_indicar_progresso USING texto percentual. CALL FUNCTION 'ISH_SAPGUI_PROGRESS_INDICATOR' EXPORTING percentage = percentual text = texto. ENDFORM. " F_INDICAR_PROGRESSO *----------------------------------------------------------------------* * Form F_MONTA_SAIDA *----------------------------------------------------------------------* FORM f_monta_saida_vendor . READ TABLE t_arq INDEX 1.

g_group = t_arq-campo(4). TRANSLATE g_group TO UPPER CASE. REFRESH t_vendor[]. LOOP AT t_arq. "Separa registro de uma g_linha nica da estrutura t_arq e "guarda nos devidos campos da estrutura vendor SPLIT t_arq AT cl_abap_char_utilities=>horizontal_tab INTO wa_vendor-ktokk "Account Group wa_vendor-bukrs "Company Code wa_vendor-ekorg "Purchasing organization wa_vendor-name1 "Name 1 wa_vendor-name2 "Name 2 wa_vendor-name3 "Name 3 wa_vendor-name4 "Name 4 wa_vendor-sort1 "Search Term wa_vendor-sort2 "Search Term 2 wa_vendor-street "Street wa_vendor-str_suppl1 "STR SUPPL1 wa_vendor-str_suppl2 "STR SUPPL2 wa_vendor-str_suppl3 "STR SUPPL3 wa_vendor-house_num1 "Number wa_vendor-house_num2 "House number supplement wa_vendor-city2 "District wa_vendor-post_code "Postal Code wa_vendor-city1 "City wa_vendor-country "Country wa_vendor-regio "Region wa_vendor-time_zone "Time Zone wa_vendor-lzone "Transportation zone wa_vendor-sfrgr "Freigth Group wa_vendor-po_box "PO Box wa_vendor-post_code1 "Postal Code wa_vendor-po_box_loc "Other city wa_vendor-post_code3 "Company Postal Code wa_vendor-langu "Language wa_vendor-telf1 "Telephone Number wa_vendor-tel_extens1 "Telephone Number (exten sion) wa_vendor-telf2 "Telephone Number 2 wa_vendor-telfx "Fax wa_vendor-fax_extens "Fax (extension) wa_vendor-smtp_addr "Email wa_vendor-remark "Comments wa_vendor-kunnr "Customer wa_vendor-vbund "Trading Partner wa_vendor-konzs "Corporate Group wa_vendor-stcd1 "Tax Number 1 wa_vendor-stcd2 "Tax Number 2 wa_vendor-stcdt "Tax number type wa_vendor-stcd3 "Tax Number 3 wa_vendor-fityp "Tax Type wa_vendor-stcdt1 "Tax number type wa_vendor-stkzn "Natural Person - Flag wa_vendor-stceg "VAT Reg. No. wa_vendor-fisku "Tax office wa_vendor-stenr "Tax number wa_vendor-brsch "Industry wa_vendor-qssys "Actual QM sys.

wa_vendor-qssysdat wa_vendor-namev wa_vendor-name wa_vendor-abtnr wa_vendor-pafkt wa_vendor-telf wa_vendor-smtp_addr1 wa_vendor-namev01 wa_vendor-name01 wa_vendor-abtnr01 wa_vendor-pafkt01 wa_vendor-telf01 wa_vendor-smtp_addr01 wa_vendor-namev02 wa_vendor-name02 wa_vendor-abtnr02 wa_vendor-pafkt02 wa_vendor-telf02 wa_vendor-smtp_addr02 wa_vendor-namev03 wa_vendor-name03 wa_vendor-abtnr03 wa_vendor-pafkt03 wa_vendor-telf03 wa_vendor-smtp_addr03 wa_vendor-namev04 wa_vendor-name04 wa_vendor-abtnr04 wa_vendor-pafkt04 wa_vendor-telf04 wa_vendor-smtp_addr04 wa_vendor-akont wa_vendor-zuawa wa_vendor-lnrze wa_vendor-fdgrv wa_vendor-mindk wa_vendor-altkn wa_vendor-pernr wa_vendor-zterm wa_vendor-togru wa_vendor-reprf nvoices or Credit Memos wa_vendor-zwels wa_vendor-zahls wa_vendor-lnrzb wa_vendor-hbkid wa_vendor-uzawe wa_vendor-prepay_relevant wa_vendor-waers wa_vendor-zterm1 wa_vendor-inco1 wa_vendor-inco2 wa_vendor-kalsk wa_vendor-webre wa_vendor-kzaut wa_vendor-lebre erification wa_vendor-bstae. APPEND wa_vendor TO t_vendor. "Limpa estrutura wa_vendor.

"QM system to "Name_1 "Name_2 "Departament "Function "Phone "EMAIL "Name_11 "Name_21 "Departament1 "Function1 "Phone1 "EMAIL1 "Name_12 "Name_22 "Departament2 "Function2 "Phone2 "EMAIL2 "Name_13 "Name_23 "Departament3 "Function3 "Phone3 "EMAIL3 "Name_14 "Name_24 "Departament4 "Function4 "Phone4 "EMAIL4 "Reconciliation Account "Sort key "Head office "Cash mgmnt group "Minority indic. "Previous Account Number "Personnel number "Payment Terms "Tolerance group "Check Flag for Double I "Payment methods "Payment block "Alternat.payee "House Bank "Pmt meth.supl. "Prepayment "Currency "Payment Terms "Incoterms "Incoterms (Part 2) "Schema Group, Vendor "GR-Based Inv. Verif. "Automatic PO "Service-Based Invoice V "Confirmation Key

CLEAR: wa_vendor. ENDLOOP. CASE g_group. WHEN c_gr01. PERFORM f_executa_shdb_gr01. WHEN c_gr02. PERFORM f_executa_shdb_gr02. WHEN c_gr03. PERFORM f_executa_shdb_gr03. WHEN c_gr04. PERFORM f_executa_shdb_gr04. WHEN c_gr05. PERFORM f_executa_shdb_gr05. WHEN c_gr06. PERFORM f_executa_shdb_gr06. WHEN c_gr07. PERFORM f_executa_shdb_gr07. WHEN OTHERS. MESSAGE i002(sy) WITH 'Error writing File !!! '. STOP. ENDCASE. ENDFORM. " F_MONTA_SAIDA *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB *---------------------------------------------------------------------* FORM f_executa_shdb_gr01 . PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-BUKRS' 'RF02K-EKORG' 'RF02K-KTOKK' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' 'ADDR1_DATA-NAME2' 'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' '0100', '/00', wa_vendor-bukrs, wa_vendor-ekorg, wa_vendor-ktokk, 'X'. '0111', '/00', wa_vendor-name1, wa_vendor-name2, wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country,

' ' ' ' ' ' ' ' ' ' ' '

' ' ' ' ' ' ' ' ' ' ' '

'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' 'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' 'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR' 'LFA1-VBUND' 'LFA1-KONZS' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' 'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box, wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu, wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', wa_vendor-kunnr, wa_vendor-vbund, wa_vendor-konzs, wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch, wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'.

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' * PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA' 'LFB1-LNRZE' 'LFB1-FDGRV' 'LFB1-MINDK' 'LFB1-ALTKN' 'LFB1-PERNR' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS'

PERFORM f_contact_person USING wa_vendor. '0380', '=ENTR'. '0210', '/00', wa_vendor-akont, wa_vendor-zuawa, wa_vendor-lnrze, wa_vendor-fdgrv, wa_vendor-mindk, wa_vendor-altkn, wa_vendor-pernr. '0215', '/00', wa_vendor-zterm, wa_vendor-togru, 'X', wa_vendor-zwels, wa_vendor-zahls,

' ' ' '

' ' ' '

'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-UZAWE' 'LFB1-PREPAY_RELEVANT'

wa_vendor-lnrzb, wa_vendor-hbkid, wa_vendor-uzawe, wa_vendor-prepay_relevant. '0220', '/00'. '0610', '/00'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' IF wa_vendor-country NE 'BR'. CLEAR: wa_vendor-webre. ELSE. MOVE: 'X' TO wa_vendor-webre. ENDIF. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFM1-WAERS' 'LFM1-ZTERM' 'LFM1-INCO1' 'LFM1-INCO2' 'LFM1-KALSK' 'LFM1-WEBRE' 'LFM1-KZAUT' 'LFM1-LEBRE' 'LFM1-BSTAE'

'0310', '/00', wa_vendor-waers, wa_vendor-zterm1, wa_vendor-inco1, wa_vendor-inco2, wa_vendor-kalsk, wa_vendor-webre, 'X', "wa_vendor-kzaut, 'X', "wa_vendor-lebre wa_vendor-bstae. '0320', '=UPDA'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'. CLEAR wa_vendor. ENDLOOP. PERFORM f_fecha_bdc.

ENDFORM. " F_EXECUTA_SHDB *---------------------------------------------------------------------* * Form F_ABRE_BDC *---------------------------------------------------------------------* FORM f_abre_bdc . DATA: v_user LIKE apqi-userid. v_user = sy-uname. CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client = sy-mandt group = p_pasta user = v_user keep = 'X' EXCEPTIONS OTHERS = 1. ENDFORM. " F_ABRE_BDC

*---------------------------------------------------------------------* * FORM dynpro * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> p_screen * * --> p_field * * --> p_value * *---------------------------------------------------------------------* FORM dynpro USING p_screen p_field p_value. CLEAR t_bdc. IF NOT p_screen IS INITIAL. t_bdc-dynbegin = 'X'. t_bdc-program = p_field. t_bdc-dynpro = p_value. ELSE. t_bdc-fnam = p_field. t_bdc-fval = p_value. ENDIF. APPEND t_bdc. ENDFORM. "dynpro *---------------------------------------------------------------------* * FORM insert_bdc * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> p_tcode * *---------------------------------------------------------------------* FORM insert_bdc USING p_tcode. DATA wa_ctu_params TYPE ctu_params. wa_ctu_params-racommit = 'X'. CALL FUNCTION 'BDC_INSERT' EXPORTING tcode = p_tcode ctuparams = wa_ctu_params TABLES dynprotab = t_bdc EXCEPTIONS internal_error = 1 not_open = 2 queue_error = 3 tcode_invalid = 4. IF sy-subrc NE 0. MESSAGE e368(00) WITH 'Erro no insert_bdc' sy-subrc. ELSE. REFRESH t_bdc. ENDIF. ENDFORM. "insert_bdc *----------------------------------------------------------------------* * Form F_FECHA_BDC *----------------------------------------------------------------------* FORM f_fecha_bdc .

CALL FUNCTION 'BDC_CLOSE_GROUP'. IF sy-subrc NE 0. MESSAGE e368(00) WITH 'Erro no CLOSE_BDC' sy-subrc. ENDIF. ENDFORM. " F_FECHA_BDC *----------------------------------------------------------------------* * Form F_IMPRIME_LOG *----------------------------------------------------------------------* FORM f_imprime_log . FORMAT COLOR COL_HEADING. g_pst = 'X'. SKIP. IF g_pst = 'X'. WRITE:/001 'PASTA DE B.I. CRIADA:', p_pasta, '- Executar via transao SM35 para criao dos fornecedores!'. ELSE. WRITE:/001 'No foram gerados dados para carregar!'. ENDIF. ENDFORM. " F_IMPRIME_LOG *----------------------------------------------------------------------* * Form F4HELP_APPLSERVER_FNAME *----------------------------------------------------------------------* FORM f4help_applserver_fname CHANGING p_p_arq. DATA: lv_path lv_abend_flag lv_location IF p_win = 'X'. lv_location = 'P'. lv_path = 'C:\'. ELSE. lv_location = 'A'. ENDIF. CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION' EXPORTING i_location_flag = lv_location i_path = lv_path filemask = '*.*' fileoperation = 'R' IMPORTING o_path = lv_path abend_flag = lv_abend_flag EXCEPTIONS rfc_error = 1 error_with_gui = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSEIF lv_abend_flag IS INITIAL. p_arq = lv_path. ENDIF. ENDFORM. " F4HELP_APPLSERVER_FNAME *----------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GR02 *----------------------------------------------------------------------* FORM f_executa_shdb_gr02 . TYPE dxfields-longpath, TYPE dxfields-abendflag, TYPE dxfields-location.

PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-BUKRS' 'RF02K-EKORG' 'RF02K-KTOKK' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' 'ADDR1_DATA-NAME2' 'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' 'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' 'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' 'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR' 'LFA1-VBUND' 'LFA1-KONZS' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-STCD2' 'LFA1-STKZN' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' '0100', '/00', wa_vendor-bukrs, wa_vendor-ekorg, wa_vendor-ktokk, 'X'. '0111', '/00', wa_vendor-name1, wa_vendor-name2, wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country, wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box, wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu, wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', wa_vendor-kunnr, wa_vendor-vbund, wa_vendor-konzs, wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-stcd2, 'X', wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch,

' ' ' ' ' '

'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' * PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA' 'LFB1-FDGRV' 'LFB1-MINDK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-TOGRR' 'LFB1-ZGRUP' 'LFB1-XPORE' 'LFB1-PREPAY_RELEVANT'

PERFORM f_contact_person USING wa_vendor. '0380', '=ENTR'. '0210', '/00', wa_vendor-akont, wa_vendor-zuawa, wa_vendor-fdgrv, wa_vendor-mindk. '0215', '/00', wa_vendor-zterm, wa_vendor-togru, 'X', wa_vendor-zwels, wa_vendor-zahls, wa_vendor-lnrzb, wa_vendor-hbkid, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-prepay_relevant. '0220', '/00'. '0610', '/00'.

* * *

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' IF wa_vendor-country NE 'BR'. CLEAR: wa_vendor-webre. ELSE. MOVE: 'X' TO wa_vendor-webre. ENDIF. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFM1-WAERS' 'LFM1-ZTERM' 'LFM1-INCO1' 'LFM1-INCO2' 'LFM1-KALSK' 'LFM1-WEBRE'

'0310', '/00', wa_vendor-waers, wa_vendor-zterm1, wa_vendor-inco1, wa_vendor-inco2, wa_vendor-kalsk, wa_vendor-webre,

' ' ' ' ' '

'LFM1-KZAUT' 'LFM1-LEBRE' 'LFM1-BSTAE'

'X', "wa_vendor-kzaut, 'X', "wa_vendor-lebre, wa_vendor-bstae. '0320', '=ENTR'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'. CLEAR wa_vendor. ENDLOOP. PERFORM f_fecha_bdc.

ENDFORM. " F_EXECUTA_SHDB_GR02 *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GR03 *---------------------------------------------------------------------* FORM f_executa_shdb_gr03 . PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-BUKRS' 'RF02K-EKORG' 'RF02K-KTOKK' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' 'ADDR1_DATA-NAME2' 'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' 'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' 'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' '0100', '/00', wa_vendor-bukrs, wa_vendor-ekorg, wa_vendor-ktokk, 'X'. '0111', '/00', wa_vendor-name1, wa_vendor-name2, wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country, wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box, wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu,

' ' ' ' ' '

' ' ' ' ' '

'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR' 'LFA1-VBUND' 'LFA1-KONZS' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' 'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', wa_vendor-kunnr, wa_vendor-vbund, wa_vendor-konzs, wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch, wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'.

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' * PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA' 'LFB1-LNRZE' 'LFB1-FDGRV' 'LFB1-MINDK' 'LFB1-ALTKN' 'LFB1-PERNR' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-TOGRR' 'LFB1-ZGRUP' 'LFB1-XPORE' 'LFB1-PREPAY_RELEVANT'

PERFORM f_contact_person USING wa_vendor. '0380', '=ENTR'. '0210', '/00', wa_vendor-akont, wa_vendor-zuawa, wa_vendor-lnrze, wa_vendor-fdgrv, wa_vendor-mindk. wa_vendor-altkn, wa_vendor-pernr. '0215', '/00', wa_vendor-zterm, wa_vendor-togru, 'X', wa_vendor-zwels, wa_vendor-zahls, wa_vendor-lnrzb, wa_vendor-hbkid, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-prepay_relevant.

* * *

* * *

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' IF wa_vendor-country NE 'BR'. CLEAR: wa_vendor-webre. ELSE. MOVE: 'X' TO wa_vendor-webre. ENDIF. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFM1-WAERS' 'LFM1-ZTERM' 'LFM1-INCO1' 'LFM1-INCO2' 'LFM1-KALSK' 'LFM1-WEBRE' 'LFM1-KZAUT' 'LFM1-LEBRE' 'LFM1-BSTAE'

'0220', '/00'. '0610', '/00'.

'0310', '/00', wa_vendor-waers, wa_vendor-zterm1, wa_vendor-inco1, wa_vendor-inco2, wa_vendor-kalsk, wa_vendor-webre, 'X', "wa_vendor-kzaut, 'X', "wa_vendor-lebre, wa_vendor-bstae. '0320', '=UPDA'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'. CLEAR wa_vendor. ENDLOOP.

PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_GR03 *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GR04 *---------------------------------------------------------------------* FORM f_executa_shdb_gr04 . PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-BUKRS' 'RF02K-KTOKK' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' '0100', '/00', wa_vendor-bukrs, wa_vendor-ktokk, 'X'. '0111', '/00', wa_vendor-name1,

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

'ADDR1_DATA-NAME2' 'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' 'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' 'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' 'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR' 'LFA1-VBUND' 'LFA1-KONZS' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' 'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-name2, wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country, wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box, wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu, wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', wa_vendor-kunnr, wa_vendor-vbund, wa_vendor-konzs, wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch, wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'.

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' * PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT'

PERFORM f_contact_person USING wa_vendor. '0380', '=ENTR'. '0210', '/00', wa_vendor-akont,

* * *

' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

'LFB1-ZUAWA' 'LFB1-LNRZE' 'LFB1-FDGRV' 'LFB1-MINDK' 'LFB1-ALTKN' 'LFB1-PERNR' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-TOGRR' 'LFB1-ZGRUP' 'LFB1-XPORE' 'LFB1-PREPAY_RELEVANT'

wa_vendor-zuawa, wa_vendor-lnrze, wa_vendor-fdgrv, wa_vendor-mindk. wa_vendor-altkn, wa_vendor-pernr. '0215', '/00', wa_vendor-zterm, wa_vendor-togru, 'X', wa_vendor-zwels, wa_vendor-zahls, wa_vendor-lnrzb, wa_vendor-hbkid, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-prepay_relevant. '0220', '/00'. '0610', '/00'.

* * *

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'. CLEAR wa_vendor. ENDLOOP.

PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_GR04 *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GR05 *---------------------------------------------------------------------* FORM f_executa_shdb_gr05 . PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-BUKRS' 'RF02K-EKORG' 'RF02K-KTOKK' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' 'ADDR1_DATA-NAME2' '0100', '/00', wa_vendor-bukrs, wa_vendor-ekorg, wa_vendor-ktokk, 'X'. '0111', '/00', wa_vendor-name1, wa_vendor-name2,

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' 'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' 'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' 'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR' 'LFA1-VBUND' 'LFA1-KONZS' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' 'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country, wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box, wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu, wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', wa_vendor-kunnr, wa_vendor-vbund, wa_vendor-konzs, wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch, wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'.

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' * PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA'

PERFORM f_contact_person USING wa_vendor. '0380', '=ENTR'. '0210', '/00', wa_vendor-akont, wa_vendor-zuawa,

' ' ' ' *

' ' ' ' ' '

'LFB1-LNRZE' 'LFB1-FDGRV' 'LFB1-MINDK' 'LFB1-ALTKN' 'LFB1-PERNR' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-TOGRR' 'LFB1-ZGRUP' 'LFB1-XPORE' 'LFB1-PREPAY_RELEVANT'

wa_vendor-lnrze, wa_vendor-fdgrv, wa_vendor-mindk, wa_vendor-altkn. wa_vendor-pernr. '0215', '/00', wa_vendor-zterm, wa_vendor-togru, 'X', wa_vendor-zwels, wa_vendor-zahls, wa_vendor-lnrzb, wa_vendor-hbkid, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-prepay_relevant. '0220', '/00'. '0610', '/00'.

* * *

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' IF wa_vendor-country NE 'BR'. CLEAR: wa_vendor-webre. ELSE. MOVE: 'X' TO wa_vendor-webre. ENDIF. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFM1-WAERS' 'LFM1-ZTERM' 'LFM1-INCO1' 'LFM1-INCO2' 'LFM1-KALSK' 'LFM1-WEBRE' 'LFM1-KZAUT' 'LFM1-LEBRE' 'LFM1-BSTAE'

'0310', '/00', wa_vendor-waers, wa_vendor-zterm1, wa_vendor-inco1, wa_vendor-inco2, wa_vendor-kalsk, wa_vendor-webre, 'X', "wa_vendor-kzaut, 'X', "wa_vendor-lebre, wa_vendor-bstae. '0320', '=ENTR'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'. CLEAR wa_vendor. ENDLOOP. PERFORM f_fecha_bdc.

ENDFORM. " F_EXECUTA_SHDB_GR05 *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GR06

*---------------------------------------------------------------------* FORM f_executa_shdb_gr06 . PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * * * * * * PERFORM 'X' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-BUKRS' 'RF02K-EKORG' 'RF02K-KTOKK' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' 'ADDR1_DATA-NAME2' 'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' 'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' 'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' 'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-STKZN' '0100', '/00', wa_vendor-bukrs, wa_vendor-ekorg, wa_vendor-ktokk, 'X'. '0111', '/00', wa_vendor-name1, wa_vendor-name2, wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country, wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box, wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu, wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', 'X'. '0130', '=RW'. '0120', '/00', wa_vendor-kunnr,

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR'

' ' ' ' ' ' ' ' ' ' ' ' ' ' '

' ' ' ' ' ' ' ' ' ' ' ' ' ' '

'LFA1-VBUND' 'LFA1-KONZS' 'LFA1-STKZN' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-STCD2' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' 'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-vbund, wa_vendor-konzs, 'X', wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-stcd2, wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch, wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'. '0380', '=ENTR'. '0210', '/00', wa_vendor-akont, wa_vendor-zuawa, wa_vendor-lnrze, wa_vendor-fdgrv, wa_vendor-mindk, wa_vendor-altkn, wa_vendor-pernr. '0215', '/00', wa_vendor-zterm, wa_vendor-togru, 'X', wa_vendor-zwels, wa_vendor-zahls, wa_vendor-lnrzb, wa_vendor-hbkid, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-uzawe, wa_vendor-prepay_relevant. '0220', '/00'. '0610', '/00'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA' 'LFB1-LNRZE' 'LFB1-FDGRV' 'LFB1-MINDK' 'LFB1-ALTKN' 'LFB1-PERNR' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-TOGRR' 'LFB1-ZGRUP' 'LFB1-XPORE' 'LFB1-PREPAY_RELEVANT'

* * *

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'.

CLEAR wa_vendor. ENDLOOP. PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_GR06 *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GR07 *---------------------------------------------------------------------* FORM f_executa_shdb_gr07 . PERFORM f_abre_bdc. LOOP AT t_vendor INTO wa_vendor. PERFORM 'X' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-KTOKK' 'USE_ZAV' '0100', '/00', wa_vendor-ktokk, 'X'.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

dynpro USING: 'SAPMF02K' '0111', 'BDC_OKCODE' '=UPDA', 'ADDR1_DATA-NAME1' wa_vendor-name1, 'ADDR1_DATA-NAME2' wa_vendor-name2, 'ADDR1_DATA-NAME3' wa_vendor-name3, 'ADDR1_DATA-NAME4' wa_vendor-name4, 'ADDR1_DATA-SORT1' wa_vendor-sort1, 'ADDR1_DATA-SORT2' wa_vendor-sort2, 'ADDR1_DATA-STR_SUPPL1' wa_vendor-str_suppl1, 'ADDR1_DATA-CITY2' wa_vendor-city2, 'ADDR1_DATA-POST_CODE1' wa_vendor-post_code, 'ADDR1_DATA-CITY1' wa_vendor-city1, 'ADDR1_DATA-COUNTRY' wa_vendor-country. 'ADDR1_DATA-LANGU' wa_vendor-langu. dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'ADDR1_DATA-NAME1' 'ADDR1_DATA-NAME2' 'ADDR1_DATA-NAME3' 'ADDR1_DATA-NAME4' 'ADDR1_DATA-SORT1' 'ADDR1_DATA-SORT2' 'ADDR1_DATA-STR_SUPPL1' 'ADDR1_DATA-STR_SUPPL2' 'ADDR1_DATA-STREET' 'ADDR1_DATA-HOUSE_NUM1' 'ADDR1_DATA-HOUSE_NUM2' 'ADDR1_DATA-STR_SUPPL3' 'ADDR1_DATA-CITY2' 'ADDR1_DATA-POST_CODE1' 'ADDR1_DATA-CITY1' 'ADDR1_DATA-COUNTRY' 'ADDR1_DATA-REGION' 'ADDR1_DATA-TRANSPZONE' 'ADDR1_DATA-PO_BOX' '0111', '/00', wa_vendor-name1, wa_vendor-name2, wa_vendor-name3, wa_vendor-name4, wa_vendor-sort1, wa_vendor-sort2, wa_vendor-str_suppl1, wa_vendor-str_suppl2, wa_vendor-street, wa_vendor-house_num1, wa_vendor-house_num2, wa_vendor-str_suppl3, wa_vendor-city2, wa_vendor-post_code, wa_vendor-city1, wa_vendor-country, wa_vendor-regio, wa_vendor-lzone, wa_vendor-po_box,

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

' ' ' ' ' ' ' ' '

' ' ' ' ' ' ' ' '

'ADDR1_DATA-POST_CODE2' 'ADDR1_DATA-PO_BOX_LOC' 'ADDR1_DATA-LANGU' 'SZA1_D0100-TEL_NUMBER' 'SZA1_D0100-TEL_EXTENS' 'SZA1_D0100-FAX_NUMBER' 'SZA1_D0100-FAX_EXTENS' 'SZA1_D0100-SMTP_ADDR' 'ADDR1_DATA-REMARK' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFA1-KUNNR' 'LFA1-VBUND' 'LFA1-STCD1' 'LFA1-STCDT' 'LFA1-FITYP' 'LFA1-STCD3' 'LFA1-STCEG' 'LFA1-FISKU' 'LFA1-STENR' 'LFA1-BRSCH' 'LFA1-SFRGR' 'LFA1-QSSYS' 'LFA1-QSSYSDAT'

wa_vendor-post_code2, wa_vendor-po_box_loc, wa_vendor-langu, wa_vendor-telf, wa_vendor-tel_extens1, wa_vendor-telfx, wa_vendor-fax_extens, wa_vendor-smtp_addr, wa_vendor-remark. '0120', '/00', wa_vendor-kunnr, wa_vendor-vbund, wa_vendor-stcd1, wa_vendor-stcdt, wa_vendor-fityp, wa_vendor-stcd3, wa_vendor-stceg, wa_vendor-fisku, wa_vendor-stenr, wa_vendor-brsch, wa_vendor-sfrgr, wa_vendor-qssys, wa_vendor-qssysdat. '0130', '=ENTR'. '0380', '=ENTR', wa_vendor-namev, wa_vendor-name, wa_vendor-abtnr, wa_vendor-pafkt. '0380', '=ENTR'.

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'KNVK-NAMEV(01)' 'KNVK-NAME1(01)' 'KNVK-ABTNR(01)' 'KNVK-PAFKT(01)'

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM insert_bdc USING 'XK01'. CLEAR wa_vendor. ENDLOOP. PERFORM f_fecha_bdc.

ENDFORM. " F_EXECUTA_SHDB_GR07 *---------------------------------------------------------------------* * Form F_MONTA_SAIDA_EXTENSIONS *---------------------------------------------------------------------* FORM f_monta_saida_extensions. REFRESH t_gdcc[]. IF p_03 EQ 'X'. "Extens GD+CC+Load Template

LOOP AT t_arq. * Separa registro de uma g_linha nica da estrutura t_arq e * guarda nos devidos campos da estrutura gdcc SPLIT t_arq AT cl_abap_char_utilities=>horizontal_tab INTO wa_gdcc-lifnr wa_gdcc-bukrs wa_gdcc-akont wa_gdcc-zuawa wa_gdcc-lnrze wa_gdcc-fdgrv wa_gdcc-mindk wa_gdcc-altkn wa_gdcc-pernr wa_gdcc-zterm wa_gdcc-togru wa_gdcc-reprf wa_gdcc-zwels wa_gdcc-zahls wa_gdcc-lnrzb wa_gdcc-hbkid wa_gdcc-uzawe wa_gdcc-prepay_relevant. APPEND wa_gdcc TO t_gdcc. * Limpa estrutura wa_gdcc e as variveis usadas no split CLEAR: wa_gdcc. ENDLOOP. PERFORM f_executa_shdb_gdcc. ELSEIF p_04 EQ 'X'. "Extens GD+CC+PUR Load Template LOOP AT t_arq. * Separa registro de uma g_linha nica da estrutura t_arq e * guarda nos devidos campos da estrutura gdcc SPLIT t_arq AT cl_abap_char_utilities=>horizontal_tab INTO wa_gdcc-lifnr wa_gdcc-bukrs wa_gdcc-ekorg wa_gdcc-akont wa_gdcc-zuawa wa_gdcc-lnrze wa_gdcc-fdgrv wa_gdcc-mindk wa_gdcc-altkn wa_gdcc-pernr wa_gdcc-zterm wa_gdcc-togru wa_gdcc-reprf wa_gdcc-zwels wa_gdcc-zahls wa_gdcc-lnrzb wa_gdcc-hbkid wa_gdcc-uzawe wa_gdcc-prepay_relevant wa_gdcc-waers wa_gdcc-zterm wa_gdcc-inco1 wa_gdcc-inco2 wa_gdcc-kalsk wa_gdcc-webre wa_gdcc-kzaut wa_gdcc-lebre wa_gdcc-bstae.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = wa_gdcc-lifnr IMPORTING output = wa_gdcc-lifnr. IF NOT wa_gdcc(18) IS INITIAL. APPEND wa_gdcc TO t_gdcc. ENDIF. Limpa estrutura wa_gdcc e as variveis usadas no split CLEAR: wa_gdcc. ENDLOOP. PERFORM f_executa_shdb_gdcc_pur. ELSEIF p_05 EQ 'X'. "Payment transaction CLEAR t_payment[]. LOOP AT t_arq. Separa registro de uma g_linha nica da estrutura t_arq e guarda nos devidos campos da estrutura payment SPLIT t_arq AT cl_abap_char_utilities=>horizontal_tab INTO wa_payment-lifnr wa_payment-banks wa_payment-bankl wa_payment-bankn wa_payment-koinh wa_payment-iban wa_payment-bvtyp wa_payment-bkont wa_payment-bkref wa_payment-lnrza. wa_payment-dtaws wa_payment-xezer wa_payment-swift wa_payment-xzemp wa_payment-empfk. APPEND wa_payment TO t_payment. Limpa estrutura wa_payment e as variveis usadas no split CLEAR: wa_payment. ENDLOOP. PERFORM f_executa_shdb_payment. ELSEIF p_06 EQ 'X'. "Partner function CLEAR t_partner[]. LOOP AT t_arq. Separa registro de uma g_linha nica da estrutura t_arq e guarda nos devidos campos da estrutura partner SPLIT t_arq AT cl_abap_char_utilities=>horizontal_tab INTO wa_partner-lifnr wa_partner-ekorg wa_partner-parvw wa_partner-lifn2. APPEND wa_partner TO t_partner. Limpa estrutura wa_payment e as variveis usadas no split CLEAR: wa_partner. ENDLOOP. ELSEIF p_07 EQ 'X'. "Withholding tax CLEAR t_withholding[]. LOOP AT t_arq. Separa registro de uma g_linha nica da estrutura t_arq e guarda nos devidos campos da estrutura withholding SPLIT t_arq AT cl_abap_char_utilities=>horizontal_tab INTO

* *

* * * * * *

* *

* *

wa_withholding-lifnr wa_withholding-bukrs "wa_withholding-ktokk wa_withholding-qland wa_withholding-witht wa_withholding-wt_withcd wa_withholding-wt_subjct wa_withholding-qsrec wa_withholding-wt_wtstcd wa_withholding-wt_exnr wa_withholding-wt_exrt wa_withholding-wt_wtexrs wa_withholding-wt_exdf wa_withholding-wt_exdt. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = wa_withholding-lifnr IMPORTING output = wa_withholding-lifnr. APPEND wa_withholding TO t_withholding. * Limpa estrutura wa_withholding e as variveis usadas no split CLEAR: wa_withholding. ENDLOOP. PERFORM f_executa_shdb_withholding. ENDIF. ENDFORM. " F_MONTA_SAIDA_EXTENSIONS *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GDCC *---------------------------------------------------------------------* FORM f_executa_shdb_gdcc . PERFORM f_abre_bdc. LOOP AT t_gdcc INTO wa_gdcc. PERFORM 'X' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' "' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-LIFNR' 'RF02K-BUKRS' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA' 'LFB1-LNRZE' 'LFB1-FDGRV' 'LFB1-MINDK' 'LFB1-ALTKN' 'LFB1-PERNR' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' '0100', '/00', wa_gdcc-lifnr, wa_gdcc-bukrs. '0210', '/00', wa_gdcc-akont, wa_gdcc-zuawa, wa_gdcc-lnrze, wa_gdcc-fdgrv, wa_gdcc-mindk, wa_gdcc-altkn, wa_gdcc-pernr. '0215', '/00', wa_gdcc-zterm, wa_gdcc-togru, 'X', "wa_gdcc-reprf,

' ' ' ' ' *

' ' ' ' '

' ' ' '

'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-UZAWE' 'LFB1-TOGRR' 'LFB1-PREPAY_RELEVANT'

wa_gdcc-zwels, wa_gdcc-zahls, wa_gdcc-lnrzb, wa_gdcc-hbkid, wa_gdcc-uzawe, wa_vendor-stenr, wa_gdcc-prepay_relevant. '0220', '/00'. '0610', '/00'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE'

PERFORM insert_bdc USING 'XK01'. CLEAR wa_gdcc. ENDLOOP. PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_GDCC *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_GDCC_PUR *---------------------------------------------------------------------* FORM f_executa_shdb_gdcc_pur . DATA DATA DATA DATA DATA t_lfa1 t_lfb1 w_lfa1 w_lfb1 l_flag TYPE TYPE TYPE TYPE TYPE TABLE OF lfa1. TABLE OF lfb1. lfa1. lfb1. char1.

SELECT * FROM lfa1 INTO TABLE t_lfa1 FOR ALL ENTRIES IN t_gdcc WHERE lifnr = t_gdcc-lifnr. SELECT * FROM lfb1 INTO TABLE t_lfb1 FOR ALL ENTRIES IN t_gdcc WHERE lifnr = t_gdcc-lifnr. SORT t_lfa1 BY lifnr. SORT t_lfb1 BY lifnr bukrs. PERFORM f_abre_bdc. LOOP AT t_gdcc INTO wa_gdcc. CLEAR w_lfa1. READ TABLE t_lfa1 INTO w_lfa1 WITH KEY lifnr = wa_gdcc-lifnr BINARY SEARCH. IF w_lfa1-land1 = 'BR'. l_flag = 'X'.

ELSE. CLEAR l_flag. ENDIF. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-LIFNR' 'RF02K-BUKRS' 'RF02K-EKORG' 'USE_ZAV' '0100', '/00', wa_gdcc-lifnr, wa_gdcc-bukrs, wa_gdcc-ekorg, 'X'.

IF NOT wa_gdcc-bukrs IS INITIAL. READ TABLE t_lfb1 WITH KEY lifnr = wa_gdcc-lifnr bukrs = wa_gdcc-bukrs BINARY SEARCH TRANSPORTING NO FIELDS. IF sy-subrc <> 0. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-AKONT' 'LFB1-ZUAWA' 'LFB1-LNRZE' 'LFB1-FDGRV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-ZTERM' 'LFB1-TOGRU' 'LFB1-REPRF' 'LFB1-ZWELS' 'LFB1-ZAHLS' 'LFB1-LNRZB' 'LFB1-HBKID' 'LFB1-UZAWE' 'LFB1-PREPAY_RELEVANT' '0210', '/00', wa_gdcc-akont, wa_gdcc-zuawa, wa_gdcc-lnrze, wa_gdcc-fdgrv. '0215', '/00', wa_gdcc-zterm, wa_gdcc-togru, 'X', "wa_gdcc-reprf, wa_gdcc-zwels, wa_gdcc-zahls, wa_gdcc-lnrzb, wa_gdcc-hbkid, wa_gdcc-uzawe, wa_gdcc-prepay_relevant. '0220', '/00'. '0610', '/00'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' ENDIF. ENDIF. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFM1-WAERS' 'LFM1-ZTERM' 'LFM1-INCO1' 'LFM1-INCO2'

'0310', '/00', wa_gdcc-waers, wa_gdcc-zterm, wa_gdcc-inco1, wa_gdcc-inco2,

' ' ' ' '

' ' ' ' '

'LFM1-KALSK' 'LFM1-WEBRE' 'LFM1-KZAUT' 'LFM1-LEBRE' 'LFM1-BSTAE'

wa_gdcc-kalsk, l_flag, "wa_gdcc-webre, 'X', "wa_gdcc-kzaut, 'X', "l_flag, "wa_gdcc-lebre, wa_gdcc-bstae. '0320', '=UPDA'.

PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE'

PERFORM insert_bdc USING 'XK01'. CLEAR wa_gdcc. ENDLOOP. PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_GDCC_PUR *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_PAYMENT *---------------------------------------------------------------------* FORM f_executa_shdb_payment . DATA: l_banks(20) TYPE c, l_bankl(20) TYPE c, l_bankn(20) TYPE c, l_koinh(20) TYPE c, l_bkont(20) TYPE c, l_bvtyp(20) TYPE c, l_bkref(20) TYPE c, l_cursor(20) TYPE c, l_cont(02) TYPE n, l_lnrza LIKE lfa1-lnrza. PERFORM f_abre_bdc. CLEAR t_pay_aux[]. REFRESH t_pay_aux[]. LOOP AT t_payment INTO wa_payment. l_lnrza = wa_payment-lnrza. AT NEW lifnr. wa_pay_aux-lifnr = wa_payment-lifnr. wa_pay_aux-lnrza = l_lnrza. APPEND wa_pay_aux TO t_pay_aux. CLEAR: wa_pay_aux, l_lnrza. ENDAT. ENDLOOP. SORT t_pay_aux BY lifnr. LOOP AT t_pay_aux INTO wa_pay_aux. PERFORM 'X' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-LIFNR' 'RF02K-D0130' 'USE_ZAV' '0101', '/00', wa_pay_aux-lifnr, 'X', 'X'.

l_cont = '01' . PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'LFA1-LNRZA' '0130', wa_pay_aux-lnrza.

LOOP AT t_payment INTO wa_payment WHERE lifnr EQ wa_pay_aux-lifnr. IF l_cont = '06'. PERFORM dynpro USING: ' ' 'BDC_OKCODE' 'X' 'SAPMF02K' l_cont = '01'. ENDIF.

'=P+', '0130'.

CLEAR: l_banks, l_bankl, l_bankn, l_koinh, l_bkont, l_bvtyp, l_bkref. CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE * ** * PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'IBAN(' l_cont ')' 'LFBK-BANKS(' l_cont 'LFBK-BANKL(' l_cont 'LFBK-BANKN(' l_cont 'LFBK-KOINH(' l_cont 'LFBK-BKONT(' l_cont 'LFBK-BVTYP(' l_cont 'LFBK-BKREF(' l_cont ')' ')' ')' ')' ')' ')' ')' INTO INTO INTO INTO INTO INTO INTO INTO l_cursor. l_banks. l_bankl. l_bankn. l_koinh. l_bkont. l_bvtyp. l_bkref.

dynpro USING: 'SAPMF02K' '0130', 'BDC_OKCODE' '=IBAN', 'BDC_OKCODE' '=ENTR', l_banks wa_payment-banks, l_bankl wa_payment-bankl, l_bankn wa_payment-bankn, l_koinh wa_payment-koinh, l_bkont wa_payment-bkont, l_bvtyp wa_payment-bvtyp, l_bkref wa_payment-bkref.

l_cont = l_cont + 1. CLEAR: wa_payment. ENDLOOP. * PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_OKCODE' '0130', '=UPDA'.

PERFORM insert_bdc USING 'XK02'. CLEAR: wa_pay_aux . ENDLOOP. PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_PAYMENT *---------------------------------------------------------------------* * Form F_EXECUTA_SHDB_WITHHOLDING

*---------------------------------------------------------------------* FORM f_executa_shdb_withholding . DATA: l_witht(20) l_withcd(20) l_subjct(20) l_qsrec(20) l_wtstcd(20) l_exnr(20) l_exrt(20) l_wtexrs(20) l_exdf(20) l_exdt(20) l_cont(02) TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE c, c, c, c, c, c, c, c, c, c, n.

DATA t_with_cont TYPE TABLE OF ty_with_aux. DATA w_with_cont TYPE ty_with_aux. DATA t_lfa1 TYPE TABLE OF lfa1. DATA w_lfa1 TYPE lfa1. IF NOT t_withholding[] IS INITIAL. "Select Vendor Master (General Section) SELECT * FROM lfa1 INTO TABLE t_lfa1 FOR ALL ENTRIES IN t_withholding WHERE lifnr = t_withholding-lifnr. ENDIF. SORT t_lfa1 BY lifnr. PERFORM f_abre_bdc. CLEAR t_with_aux[]. REFRESH t_with_aux[]. LOOP AT t_withholding INTO wa_withholding. IF wa_withholding(17) IS INITIAL. DELETE t_withholding. CONTINUE. ENDIF. CLEAR wa_with_aux. wa_with_aux-lifnr = wa_withholding-lifnr. wa_with_aux-bukrs = wa_withholding-bukrs. wa_with_aux-qland = wa_withholding-qland. IF wa_withholding-qland = c_qland. READ TABLE t_lfa1 INTO w_lfa1 WITH KEY lifnr = wa_withholding-lifnr BINARY SEARCH. IF w_lfa1-ktokk = c_gr01 OR w_lfa1-ktokk = c_gr04 OR w_lfa1-ktokk = c_gr05 . COLLECT wa_with_aux INTO t_with_aux.

DELETE t_withholding. CONTINUE. ENDIF. ENDIF. wa_with_aux-cont = 1. COLLECT wa_with_aux INTO t_with_cont. ENDLOOP. "Brazil Fixed Taxes LOOP AT t_with_aux INTO wa_with_aux. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' PERFORM ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-LIFNR' 'RF02K-BUKRS' 'RF02K-D0610' 'USE_ZAV' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFB1-QLAND' dynpro USING: 'LFBW-WITHT(01)' 'LFBW-WT_WITHCD(01)' 'LFBW-WT_SUBJCT(01)' 'LFBW-WITHT(02)' 'LFBW-WT_WITHCD(02)' 'LFBW-WT_SUBJCT(02)' 'LFBW-WITHT(03)' 'LFBW-WT_WITHCD(03)' 'LFBW-WT_SUBJCT(03)' 'LFBW-WITHT(04)' 'LFBW-WT_WITHCD(04)' 'LFBW-WT_SUBJCT(04)' 'LFBW-WITHT(05)' 'LFBW-WT_WITHCD(05)' 'LFBW-WT_SUBJCT(05)' 'LFBW-WITHT(06)' 'LFBW-WT_WITHCD(06)' 'LFBW-WT_SUBJCT(06)' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'LFBW-WITHT(01)' 'LFBW-WT_WITHCD(01)' 'LFBW-WT_SUBJCT(01)' '0101', '/00', wa_with_aux-lifnr, wa_with_aux-bukrs, 'X', 'X'. '0610', '=P+', wa_with_aux-qland. 'CA', 'CA', 'X', 'GX', 'GX', 'X', 'IN', 'IN', 'X', 'IW', 'IW', 'X', 'PA', 'PA', 'X', 'RP', 'RP', 'X'.

'0610', '=UPDA', 'SA', 'SA', 'X'.

PERFORM insert_bdc USING 'XK02'. ENDLOOP.

"SORT t_withholding BY lifnr bukrs. SORT t_with_cont BY lifnr bukrs. "Other Cases CLEAR l_cont. LOOP AT t_withholding INTO wa_withholding . ADD 1 TO l_cont. AT NEW bukrs. CLEAR w_with_cont. READ TABLE t_with_cont INTO w_with_cont WITH KEY lifnr = wa_withholding-lifnr bukrs = wa_withholding-bukrs BINARY SEARCH. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'RF02K-LIFNR' 'RF02K-BUKRS' 'RF02K-D0610' 'USE_ZAV' '0101', '/00', wa_withholding-lifnr, wa_withholding-bukrs, 'X', 'X'.

l_cont = 1. ENDAT. IF l_cont > 6. l_cont = 1. ENDIF. IF l_cont = 1. IF w_with_cont-cont > 6. SUBTRACT 6 FROM w_with_cont-cont. PERFORM dynpro USING: 'X' 'SAPMF02K' '0610', ' ' 'BDC_OKCODE' '=P+', ' ' 'LFB1-QLAND' wa_withholding-qland. ELSE. PERFORM dynpro USING: 'X' 'SAPMF02K' '0610', ' ' 'BDC_OKCODE' '=UPDA', ' ' 'LFB1-QLAND' wa_withholding-qland. ENDIF. ENDIF. CLEAR: l_witht, l_withcd, l_subjct, l_qsrec, l_wtstcd, l_exnr,l_exrt ,l_wtexrs, l_exdf, l_exdt. CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE CONCATENATE 'LFBW-WITHT(' l_cont ')' 'LFBW-WT_WITHCD(' l_cont ')' 'LFBW-WT_SUBJCT(' l_cont ')' 'LFBW-QSREC(' l_cont ')' 'LFBW-WT_WTSTCD(' l_cont ')' 'LFBW-WT_EXNR(' l_cont ')' 'LFBW-WT_EXRT(' l_cont ')' 'LFBW-WT_WTEXRS(' l_cont ')' 'LFBW-WT_EXDF(' l_cont ')' INTO INTO INTO INTO INTO INTO INTO INTO INTO l_witht. l_withcd. l_subjct. l_qsrec. l_wtstcd. l_exnr. l_exrt. l_wtexrs. l_exdf.

CONCATENATE 'LFBW-WT_EXDT(' l_cont ')' PERFORM ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: l_witht l_withcd l_subjct l_qsrec l_wtstcd l_exnr l_exrt l_wtexrs l_exdf l_exdt

INTO l_exdt.

wa_withholding-witht, wa_withholding-wt_withcd, wa_withholding-wt_subjct, wa_withholding-qsrec, wa_withholding-wt_wtstcd, wa_withholding-wt_exnr, wa_withholding-wt_exrt, wa_withholding-wt_wtexrs, wa_withholding-wt_exdf, wa_withholding-wt_exdt.

AT END OF bukrs. PERFORM insert_bdc USING 'XK02'. ENDAT. ENDLOOP. PERFORM f_fecha_bdc. ENDFORM. " F_EXECUTA_SHDB_WITHHOLDING

*&---------------------------------------------------------------------* *& Form F_CONTACT_PERSON *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_WA_VENDOR text *----------------------------------------------------------------------* FORM f_contact_person USING p_wa_vendor. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_CURSOR' 'BDC_OKCODE' 'KNVK-NAMEV(01)' 'KNVK-NAME1(01)' 'KNVK-ABTNR(01)' 'KNVK-PAFKT(01)' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'KNVK-ABTNR' 'KNVK-PAFKT' 'ADDR3_DATA-NAME_LAST' 'ADDR3_DATA-NAME_FIRST' 'SZA5_D0700-TEL_NUMBER' 'SZA5_D0700-TEL_EXTENS' 'SZA5_D0700-SMTP_ADDR' '0380', 'KNVK-NAMEV(01)', '=LSDP', wa_vendor-namev, wa_vendor-name, wa_vendor-abtnr, wa_vendor-pafkt.

* * * *

'1361', '=PF03', wa_vendor-abtnr, wa_vendor-pafkt, wa_vendor-namev, wa_vendor-name, wa_vendor-telf1, wa_vendor-tel_extens1, wa_vendor-smtp_addr1.

IF NOT wa_vendor-namev01 IS INITIAL. PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_CURSOR' '0380', 'KNVK-NAMEV(02)',

' ' ' ' '

' ' ' ' '

'BDC_OKCODE' 'KNVK-NAMEV(02)' 'KNVK-NAME1(02)' 'KNVK-ABTNR(02)' 'KNVK-PAFKT(02)' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'KNVK-ABTNR' 'KNVK-PAFKT' 'ADDR3_DATA-NAME_LAST' 'ADDR3_DATA-NAME_FIRST' 'SZA5_D0700-TEL_NUMBER' 'SZA5_D0700-SMTP_ADDR'

'=LSDP', wa_vendor-name01, wa_vendor-namev01, wa_vendor-abtnr01, wa_vendor-pafkt01. '1361', '=PF03', wa_vendor-abtnr01, wa_vendor-pafkt01, wa_vendor-name01, wa_vendor-namev01, wa_vendor-telf01, wa_vendor-smtp_addr01.

* * * *

PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ENDIF.

IF NOT wa_vendor-namev02 IS INITIAL. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ENDIF. dynpro USING: 'SAPMF02K' 'BDC_CURSOR' 'BDC_OKCODE' 'KNVK-NAMEV(03)' 'KNVK-NAME1(03)' 'KNVK-ABTNR(03)' 'KNVK-PAFKT(03)' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'KNVK-ABTNR' 'KNVK-PAFKT' 'ADDR3_DATA-NAME_LAST' 'ADDR3_DATA-NAME_FIRST' 'SZA5_D0700-TEL_NUMBER' 'SZA5_D0700-TEL_EXTENS' 'SZA5_D0700-SMTP_ADDR' '0380', 'KNVK-NAMEV(03)', '=LSDP', wa_vendor-namev02, wa_vendor-name02, wa_vendor-abtnr02, wa_vendor-pafkt02. '1361', '=PF03', wa_vendor-abtnr02, wa_vendor-pafkt02, wa_vendor-namev02, wa_vendor-name02, wa_vendor-telf02, wa_vendor-tel_extens1, wa_vendor-smtp_addr02.

* * * *

IF NOT wa_vendor-namev03 IS INITIAL. PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' dynpro USING: 'SAPMF02K' 'BDC_CURSOR' 'BDC_OKCODE' 'KNVK-NAMEV(04)' 'KNVK-NAME1(04)' 'KNVK-ABTNR(04)' 'KNVK-PAFKT(04)' dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'KNVK-ABTNR' 'KNVK-PAFKT' 'ADDR3_DATA-NAME_LAST' 'ADDR3_DATA-NAME_FIRST' 'SZA5_D0700-TEL_NUMBER' 'SZA5_D0700-SMTP_ADDR' '0380', 'KNVK-NAMEV(04)', '=LSDP', wa_vendor-namev03, wa_vendor-name03, wa_vendor-abtnr03, wa_vendor-pafkt03. '1361', '=PF03', wa_vendor-abtnr03, wa_vendor-pafkt03, wa_vendor-namev03, wa_vendor-name03, wa_vendor-telf03, wa_vendor-smtp_addr03.

* * * *

ENDIF. IF NOT wa_vendor-namev04 IS INITIAL. PERFORM dynpro USING: 'X' 'SAPMF02K' ' ' 'BDC_CURSOR' ' ' 'BDC_OKCODE' ' ' 'KNVK-NAMEV(05)' ' ' 'KNVK-NAME1(05)' ' ' 'KNVK-ABTNR(05)' ' ' 'KNVK-PAFKT(05)' PERFORM 'X' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ENDIF. ENDFORM. " F_CONTACT_PERSON dynpro USING: 'SAPMF02K' 'BDC_OKCODE' 'KNVK-ABTNR' 'KNVK-PAFKT' 'ADDR3_DATA-NAME_LAST' 'ADDR3_DATA-NAME_FIRST' 'SZA5_D0700-TEL_NUMBER' 'SZA5_D0700-TEL_EXTENS' 'SZA5_D0700-SMTP_ADDR'

'0380', 'KNVK-NAMEV(05)', '=LSDP', wa_vendor-namev04, wa_vendor-name04, wa_vendor-abtnr04, wa_vendor-pafkt04. '1361', '=PF03', wa_vendor-abtnr04, wa_vendor-pafkt04, wa_vendor-namev04, wa_vendor-name04, wa_vendor-telf04, wa_vendor-tel_extens1, wa_vendor-smtp_addr04.

* * * *

S-ar putea să vă placă și