adesso business consulting Stellenangebote
Software Engineer Trainee · Senior
| (Senior) Cloud Software Engineer BTP
| (Senior) Consultant Technologie
Werkstudent Softwareentwicklung · Fiori / UI5 · Consulting
Muster für ZIDoc EingangsverarbeitungsFuBa
Aus SAP Wiki ツ
Kopie eines Standard FuBas
Kopie von "idoc_input_fidcc2" und dann Anpassung wie unten beschrieben.
Parameters
"Globale Schnittstelle: " IMPORTING " VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD " VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC " EXPORTING " VALUE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT " VALUE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR " VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK " VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS " TABLES " IDOC_CONTRL STRUCTURE EDIDC " IDOC_DATA STRUCTURE EDIDD " IDOC_STATUS STRUCTURE BDIDOCSTAT " RETURN_VARIABLES STRUCTURE BDWFRETVAR " SERIALIZATION_INFO STRUCTURE BDI_SER " EXCEPTIONS " WRONG_FUNCTION_CALLED " OTHERS
Codeschnipsel
INCLUDE mbdconwf. DATA: cv_mestyp TYPE edidc-mestyp VALUE 'ZGGL_PAYMENTS', cv_wf_par_error_idocs TYPE bdwfretvar-wf_param VALUE 'Error_IDOCs', cv_wf_result_ok TYPE bdwf_param-result VALUE '0 ' ##NEEDED, cv_wf_result_error TYPE bdwf_param-result VALUE '99999', ls_data TYPE zgglpay, lv_error TYPE char01, ls_lmess TYPE lmess, lt_xreturn TYPE TABLE OF bdwfretvar. lt_return TYPE bapiret2_t. FIELD-SYMBOLS: <ls_xreturn> TYPE bdwfretvar. READ TABLE idoc_contrl INDEX 1. IF idoc_contrl-mestyp NE 'ZGGL_PAYMENTS'. RAISE wrong_function_called. ENDIF. LOOP AT idoc_contrl. LOOP AT idoc_data WHERE docnum = idoc_contrl-docnum. "#EC CI_NESTED ls_data = idoc_data-sdata. lv_compcode = ls_data-header_company. lv_refdoc = ls_data-ref_doc_number. ENDLOOP. ENDLOOP. IF lt_return IS NOT INITIAL. READ TABLE lt_return INTO DATA(ls_return) INDEX 1. IF ls_return-type = 'E'. ls_lmess-msgid = ls_return-id. ls_lmess-msgno = ls_return-number. ls_lmess-msgty = ls_return-type. ls_lmess-msgv1 = ls_return-message_v1. ls_lmess-msgv2 = ls_return-message_v2. ls_lmess-msgv3 = ls_return-message_v3. ls_lmess-msgv4 = ls_return-message_v4. lv_error = abap_true. ENDIF. ENDIF. "*---------------------------------------------------------------------------- "*Remaining code has been taken over and left untouched. "*---------------------------------------------------------------------------- CLEAR in_update_task. CLEAR call_transaction_done. IF lv_error EQ abap_true. CALL FUNCTION 'L_IDOC_ERROR_SAVE' EXPORTING i_docnum = idoc_contrl-docnum i_mestyp = cv_mestyp i_lmess = ls_lmess i_categorie = cv_wf_par_error_idocs i_result = cv_wf_result_error EXCEPTIONS OTHERS = 1. "#EC CI_SUBRC MOVE cv_wf_result_error TO workflow_result. ELSE. "lDoc processed successfully CALL FUNCTION 'L_IDOC_OK_SAVE' EXPORTING i_docnum = idoc_contrl-docnum i_mestyp = cv_mestyp EXCEPTIONS OTHERS = 1. "#EC CI_SUBRC MOVE c_wf_result_ok TO workflow_result. ENDIF. "Write status of IDOC LOOP AT idoc_contrl. CLEAR idoc_status. "Determine and create status of IDOC CALL FUNCTION 'L_IDOC_STATUS_CREATE' EXPORTING i_iheader = idoc_contrl i_mass_processing = mass_processing IMPORTING o_istatus = idoc_status EXCEPTIONS OTHERS = 1. "#EC CI_SUBRC IF idoc_status-status IS INITIAL. MESSAGE e010(lk) WITH idoc_contrl-docnum RAISING others. ENDIF. APPEND idoc_status. ENDLOOP. "Define table for further workflow process. LOOP AT idoc_contrl. "Determine and create status of IDOC CLEAR lt_xreturn. REFRESH lt_xreturn. CALL FUNCTION 'L_IDOC_RETURN_CREATE' EXPORTING i_iheader = idoc_contrl i_mass_processing = mass_processing TABLES treturn = lt_xreturn EXCEPTIONS OTHERS = 1. "#EC CI_SUBRC LOOP AT lt_xreturn ASSIGNING <ls_xreturn>. MOVE-CORRESPONDING <ls_xreturn> TO return_variables. APPEND return_variables. ENDLOOP. IF sy-subrc NE 0. MESSAGE e011(lk) WITH idoc_contrl-docnum RAISING others. ENDIF. ENDLOOP. COMMIT WORK.
Dieses Wiki wird privat in Freizeit nach bestem Wissen und Gewissen gepflegt und dient primär als eigene Wissenssammlung für die tägliche Arbeit im SAP-ERP-Umfeld.
Alle dargestellten Softwareprodukte, auch in Form von Screenshots, sind Eigentum der SAP SE. Ihre Marken, vgl. Link, sind u.a.: SAP®, ABAP®, SAP Fiori®, SAP HANA®, SAP S/4HANA®, SAP S/4HANA® Cloud