Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Optionen
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline creative235  
#1 Geschrieben : Freitag, 24. Juli 2020 05:55:48(UTC)
creative235

Beiträge: 5
Germany
Wohnort: Betzdorf
Guten Morgen zusammen,

ich realisiere gerade einen Report zur Massenanlage von Partnerrollen am Debitor. Der relevante Code sieht wie folgt aus:

Code:
     CLEAR p_main.
     CLEAR it_main.
     CLEAR iv_partner.
     CLEAR iv_partner_guid.
     CLEAR p_validate.
     CLEAR p_maintain.
     CLEAR it_partnerr.
     CLEAR it_verkd.

     iv_partner = wa_sheet-knr.

     CONCATENATE 'Debitor' iv_partner INTO iv_logtxt SEPARATED BY space.
     lc_bal->add_free_text(
       EXPORTING
         iv_text              = iv_logtxt
         iv_message_type      = zif_bal_constant=>message_type_info
         iv_detail_level_move = zif_bal_detail_level_constant=>direction_plus_after
     ).

     CALL FUNCTION 'BUPA_NUMBERS_GET'
       EXPORTING
         iv_partner      = iv_partner
       IMPORTING
         ev_partner_guid = iv_partner_guid.

     iv_partner = |{ iv_partner ALPHA = IN }|.

     p_main-partner-header-object_instance-bpartner      = iv_partner.
     p_main-partner-header-object_instance-bpartnerguid  = iv_partner_guid.
     p_main-partner-header-object_task                   = lc_upd.

*   Partnerrollen aufbereiten
     iv_partnerr-task                                    = lc_ins.
     iv_partnerr-data_key-parvw                          = 'VE'.
     iv_partnerr-data_key-parza                          = '000'.
     iv_partnerr-data-partner                            = wa_sheet-pnr.
     iv_partnerr-datax-partner                           = abap_true.
     APPEND iv_partnerr TO it_partnerr.

*   Verkaufsdaten aufbereiten
     iv_verkd-task                                       = lc_upd.
     iv_verkd-data_key-vkorg                             = wa_ovb-vkorg.
     iv_verkd-data_key-vtweg                             = wa_ovb-vweg.
     iv_verkd-data_key-spart                             = '00'.
     iv_verkd-functions-functions                        = it_partnerr.
     APPEND iv_verkd TO it_verkd.

     p_main-customer-header-object_instance              = iv_partner.
     p_main-customer-header-object_task                  = lc_upd.
     p_main-customer-sales_data-sales                    = it_verkd.

     TRY.
         cl_md_bp_maintain=>validate_single(
           EXPORTING
             i_data                   = p_main
           IMPORTING
             et_return_map            = p_validate
         ).
     ENDTRY.

     IF p_validate IS INITIAL.
       APPEND p_main TO it_main.
     ELSE.
       lc_bal->add_mdg_bs_bp_msgmap_tab(
         EXPORTING
           it_mdg_bs_bp_msgmap  = p_validate
           iv_detail_level_move = zif_bal_detail_level_constant=>direction_minus_after
       ).
     ENDIF.

     IF lines( it_main ) > 0.
       TRY.
           cl_md_bp_maintain=>maintain(
             EXPORTING
               i_data     = it_main
             IMPORTING
               e_return   = p_maintain
             ).
       ENDTRY.

       IF p_maintain IS INITIAL.
         CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
         lc_bal->add_free_text(
           EXPORTING
             iv_text              = 'Änderung erfolgreich'
             iv_message_type      = zif_bal_constant=>message_type_success
             iv_detail_level_move = zif_bal_detail_level_constant=>direction_minus_after
         ).

       ELSE.
         CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
         lc_bal->add_bapiretm_tab(
           EXPORTING
             it_bapiretm          = p_maintain
             iv_detail_level_move = zif_bal_detail_level_constant=>direction_minus_after
         ).


In der ersten Massenänderung lief das auch ohne Probleme und alle Datensätze konnten verarbeitet werden. In meinem zweiten Test allerdings, zeigt er mir diverse Debitoren im Log an, bei deren Änderungsdurchführung keine Probleme festgestellt wurden, welche aber die Partnerrolle auch nicht hinterlegt haben. Beim Versuch die Partnerrolle manuell über die BP-Transaktion nachzupflegen, erhalte ich auch den Fehler "Feld Jahr nicht gepflegt".

Kann mir einer beantworten, weshalb sowohl die validate_single als auch die maintain-Methoden hier keinen Fehler finden? Bzw. wie ich dieses Problem beheben kann?

Viele Grüße,
Dennis
Jobangebote

Nehmen Sie an dieser Diskussion teil! SAP FORUM - SAP Community LoginHier registrieren.

Benutzer, die gerade dieses Thema lesen
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

- Impressum / Datenschutz -