Bug 10192 - DCC - RWB - Monitor - Abgleich/Update Materialstamm - Unicode-Check in der Übergabe EXTENSIONIN
Summary: DCC - RWB - Monitor - Abgleich/Update Materialstamm - Unicode-Check in der Üb...
Status: VERIFIED FIXED
Alias: None
Product: Controlling
Classification: SCX/Suite
Component: RWB (show other bugs)
Version: 18.0
Hardware: All All
: P5 enhancement
Assignee: cbr
QA Contact: Lenz, Florian
URL:
Whiteboard: E74, FE0, M48, M38 implementiert
Keywords: Norma, Vorabkorrektur
Depends on:
Blocks:
 
Reported: 2019-03-06 00:56 CET by cbr
Modified: 2020-03-31 19:36 CEST (History)
0 users

Kundennummer:
Bestellnummer:
PV Übergabe: ---
Phase Roadmap: ---
Erledigt mit: Norma
SAP Release: ---
Transport: M38K901147;M48K901088;M38K901157;M48K901097
CRM-ID/Ticket: 016892


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cbr 2019-03-06 00:56:44 CET
DCC - RWB - Monitor - Abgleich/Update Materialstamm - Unicode-Check in der BAPI-Übergabe EXTENSIONIN

Check auf Unicode:
Wenn Unicode, dann typgerechte Umwandlung der kundeneigenen BAPI-Parameter

-----------------------------------------------------------------------
Funktionsgruppe: /GIB/DCC_BARU_GRID
FuBa: /GIB/DCC_BR_GRID
-----------------------------------------------------------------------
Include: /GIB/LDCC_BARU_GRIDTOP
Include: /GIB/LDCC_BARU_GRIDU01
Include: /GIB/LDCC_BARU_GRIDF03
Form  OWN_CHECK_BAPI_TE
Include: /GIB/LDCC_BARU_GRIDF04
Form  OWN_MAT_UPD_DO_ALL

-----------------------------------------------------------------------
Programm: /GIB/DCC_BARU_MONITOR
-----------------------------------------------------------------------
Include: /GIB/DCC_BARU_MONITOR_STD_TOP2
Include: /GIB/DCC_BARU_MONITOR_CUST_F01   
Form  CUST_INITIALISATION 
Include: /GIB/DCC_BARU_MONITOR_OWN_F02
Form  OWN_CHECK_BAPI_TE
Include: /GIB/DCC_BARU_MONITOR_OWN_F03
Form  OWN_MAT_UPD_DO_ALL_200

-------------------------------------------------------------------------
Alle kundeneigenen Felder, die mittels APPEND an die Kopfstruktur (z.B. MARC) angehängt wurden, müssen ebenfalls in einem APPEND an die Struktur z.B. BAPI_TE_MARC appendiert werden. Hierbei ist es
wichtig, dass die Felder zeichenartig sein müssen! Es dürfen also keine Felder vom Typ FLOAT, DEC oder INT verwendet werden! Entweder müssen diese Felder außen vor gelassen werden (sie können dann nicht mittels BAPI geändert werden), oder es muss ein eigenes zeichenartiges Datenelement spezielle für den BAPI angelegt werden.
--------------------------------------------------------------------------

Die Umwandlung einer Struktur in einen „Container“ braucht man immer, wenn man Kundenfelder in BAPIs verwenden möchte. In vielen BAPIs gibt es einen EXTENSION-Parameter, dem alle Kundenfelder übergeben werden. In diesem speziellen Fall ist es die Übergabetabelle EXTENSIONIN.
Die Anweisung zum Füllen der EXTENSIONIN sieht klassischerweise in etwa so aus:
DATA ls_bapi_te_marc  TYPE bapi_te_marc.
DATA ls_extension TYPE bapiparex.
DATA lt_extensions TYPE STANDARD TABLE OF bapiparex.
ls_bapi_te_marc-zzfeld1 = '1'.
ls_bapi_te_marc-zzfeld2 = 'ABCD'.
ls_extension-structure = 'BAPI_TE_MARC'.
ls_extension+30(960) = ls_bapi_te_marc. "(bapiparex-valuepart1 - 4)
APPEND ls_extension TO lt_extensions.
Abgesehen davon, dass die Unterteilung der Kundenfelder in VALUEPART1 bis VALUEPART4 absoluter Unsinn ist, ist es unter Unicode nicht mehr einfach möglich, die Strukturen zuzuweisen. 
Im ABAP-Editor erscheint dann die Meldung:
„LS_EXTENSION+30(960)“ und „LS_BAPI_TE_MARC“ sind in einem Unicode-Programm nicht ineinander konvertierbar.

---------------------------------------------------------------------------
Mit dieser Klasse – und speziell der Methode FILL_CONTAINER_C – ist es möglich, die typgerechte Umwandlung vorzunehmen.
---------------------------------------------------------------------------
CALL METHOD cl_abap_container_utilities=>fill_container_c
EXPORTING
         im_value = ls_bapi_te_marc
IMPORTING
         ex_container = ls_extension+30(960)
EXCEPTIONS
         illegal_parameter_type = 1
         OTHERS = 2.
------------------------------------------------------------------
Comment 3 cbr 2019-03-08 19:23:31 CET
erneute Vorabkorrekturen M38K901157, M38K901159 erstellt
erneute Vorabkorrektur M48K901097 erstellt
Comment 2 cbr 2019-03-06 12:16:59 CET
.
Comment 1 cbr 2019-03-06 12:16:44 CET
Vorabkorrektur M38K901147 erstellt
Vorabkorrektur M48K901088 erstellt