Hallo,
das ist nicht trivial. Deshalb hier nur eine Lösungsskizze ohne Gewähr
UE MF45ATZZ
Definition einiger notwendiger Variablen :
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S32 {
color: #3399FF;
}
.L0S52 {
color: #0000FF;
}data: begin of gt_konf_changed occurs 0.
data: vbeln type vbeln.
data: posnr type posnr.
data: zz_changed type c.
data: end of gt_konf_changed,
gs_konf_changed like line of gt_konf_changed.
data: gt_conf_out_old like table of conf_out,
gt_conf_out_new like table of conf_out.
UE MV45AFZC USEREXIT_CONFIG_DATE_EXPLOSION
Bin mir nicht sicher, aber ich meine, dieser UE wird vor der Konfiguration aufgerufen. Hier sollte VBAP-CUOBJ verfügbar sein. Alternativ MV45AFZF USEREXIT_CONFIGURATION_MODE versuchen.
clear: gt_conf_out_old, gt_conf_out_old[].
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S32 {
color: #3399FF;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}call function 'VC_I_GET_CONFIGURATION_IBASE'
exporting
instance = vbap-cuobj
tables
configuration = gt_conf_out_old
exceptions
instance_not_found = 1
others = 2.
UE MV45AFZB GET_FIELD_TO_SDCOM wird prozessiert, sobald die Konfiguration verlassen wird :
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S32 {
color: #3399FF;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}
call function 'VC_I_GET_CONFIGURATION_IBASE'
exporting
instance = vbap-cuobj
tables
configuration = gt_conf_out_new
exceptions
instance_not_found = 1
others = 2.
if gt_conf_out_old <> gt_conf_out_new.
hier jetzt den passenden Eintrag aus gt_konf_changed suchen, Feld zz_changed auf 'X' setzen.
else.
hier jetzt den passenden Eintrag aus gt_konf_changed suchen, Feld zz_changed auf '' setzen.
endif.
UE MV45AFZZ SAVE_DOCUMENT_PREPARE
Hier dann die Tabelle gt_conf_changed für alle Einträge mit zz_changed = 'X' auswerten.
MfG
tomtaste