Asset-Herausgeber

Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 132, column 37]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: dMTJsonObject = FrontendService.media... [in template "252001#252047#252845" at line 132, column 21]
----
1<#-- used @ Veranstaltung-Detailseite Intro 
2 used @ Publikation-Detailseite Intro 
3--> 
4 
5<#-- 
6Web content templates to display teaser on thema detail page 
7 
8Generic template for detail pages Intro / Teaser element 
9--> 
10<#-- 
11Display the current page title 
12--> 
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
14<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
15 
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" /> 
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" /> 
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" /> 
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" /> 
20 
21 
22<#-- 
23 renders the Intro for nearly all Pages 
24 TODO: remove Share? (was in the designs, but not anymore?) 
25 TODO: check if languageSelect/filter are working (js) 
26 
27 - portletId 
28 - data = { 
29 "media": string (src from image), 
30 "category": string, 
31 "title": string, 
32 "author": string, 
33 "subheadline": string, 
34 "copy": string, 
35 "filter": { 
36 "id": string, 
37 "name": string, 
38 "entries": Array<Object> ({key:value}), 
39 }, 
40 "languageSelect": { 
41 "id": string, 
42 "name": string, 
43 "entries": Array<Object> ({key:value}), 
44 }, 
45 "meta": { 
46 "pos"; string (top/bottom) 
47 "date": string, 
48 "hash": string, 
49 "info": string, (url) 
50 }, 
51 "share" : { 
52 "login": string, 
53 "print": string, 
54 "mail": string, 
55 "multishare": string?? (tbd) 
56
57 - AMMetadata: macro 
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content 
59
60--> 
61 
62<#assign 
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
64 
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() 
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
67 
68 themeDisplay = ServiceContext.getThemeDisplay() 
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
70 
71 languageId = themeDisplay.getLocale() 
72 groupId = themeDisplay.getScopeGroupId() 
73 currentUrl = themeDisplay.getURLCurrent() 
74 
75 layout = themeDisplay.getLayout() 
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
77/> 
78 
79<#setting locale="${languageId}"> 
80 
81<#-- get article from url --> 
82 
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
84 
85 
86<#if entry?has_content> 
87 
88 <#if entry.resourcePrimKey??> 
89 <#assign primaryKey = entry.resourcePrimKey?number > 
90 <#elseif entry.classPK??> 
91 <#assign primaryKey = entry.classPK?number > 
92 </#if> 
93 
94 <#assign 
95 jsonString = FrontendService.article.getWebcontent(primaryKey) 
96 json = FrontendService.json.parseAsJson(jsonString) 
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds() 
98 
99 title = entry.getTitle(languageId) 
100 data = { 
101 "title": title 
102
103 /> 
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
105 
106 <#if hasContent('untertitel', languageId, json)> 
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
108 </#if> 
109 
110 <#if hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'detailsubtitle'), languageId, json)> 
111 <#assign data = data + { "detailsubtitle": getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'detailsubtitle'), languageId, json, "first") } > 
112 </#if> 
113 
114 <#if hasContent('beschreibung', languageId, json)> 
115 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
116 </#if> 
117 
118 <#-- fill meta data --> 
119 <#assign meta = {} /> 
120 
121 <#-- PUBLIKATIONEN DETAIL --> 
122 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
123 
124 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
125 <#assign 
126 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
127 /> 
128 
129 <#if coverBildString?has_content> 
130 <#assign 
131 coverBild = FrontendService.json.parseAsJson(coverBildString) 
132 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
133 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
134 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
135 /> 
136 <#if dMTJsonObject.altText?? > 
137 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
138 </#if> 
139 <#if dMTJsonObject.quelle??> 
140 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
141 </#if> 
142 </#if> 
143 <#-- uncomment to display pdf cover as Intro Image 
144 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
145 <#assign 
146 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
147 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
148 <#if fileEntry?has_content> 
149 <#assign 
150 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
151 data = data + { "media": linkToThumbnail } 
152 /> 
153 </#if> 
154 --> 
155 </#if> 
156 
157 <#assign 
158 meta = meta + { "orderInfo": "true" } 
159 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
160 /> 
161 
162 
163 
164 <#if hasContent('erscheinungsdatum', languageId, json)> 
165 <#assign 
166 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
167 /> 
168 <#if erscheinungsdatum?has_content > 
169 <#assign 
170 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
171 meta = meta + { "date": erscheinungsdatumFormatted } 
172 /> 
173 </#if> 
174 </#if> 
175 
176 <#if verbundJournalArticle?has_content> 
177 <#assign 
178 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
179 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
180 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
181 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
182 /> 
183 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
184 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
185 
186 <#if coverImg?has_content && coverImg.url?has_content > 
187 <#assign meta = meta + { "coverImg": coverImg.url } > 
188 </#if> 
189 </#if> 
190 
191 
192 <#if meta?has_content> 
193 <#assign data = data + {"meta": meta } > 
194 </#if> 
195 
196 </#if> 
197 <#-- PUBLIKATIONEN DETAIL END --> 
198 
199 
200 <#-- VERANSTALTUNGEN DETAIL --> 
201 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
202 <#assign 
203 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
204 links = [] 
205 /> 
206 <#if availablelanguages?has_content && friendlyUrl?has_content> 
207 <#if (availablelanguages?size > 1) > 
208 <#list availablelanguages as language> 
209 <#assign 
210 defaultLanguage = "de_DE" 
211 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
212 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
213 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
214 
215 link = { 
216 "key": language!defaultLanguage, 
217 "value": linkLocale.getDisplayLanguage(languageId), 
218 "url": "/c/portal/update_language?p_l_id=" + 
219 layout.plid + "&redirect=" + langFriendlyUrl + 
220 "&languageId=" + language 
221
222 /> 
223 <#if language == languageId> 
224 <#assign link = link + { "selected": "true" } > 
225 </#if> 
226 <#assign links = links + [link]> 
227 </#list> 
228 <#assign 
229 data = data + { 
230 "languageSelect": { 
231 "id": "languageSelectRedirect", 
232 "name": "languageselectRedirect", 
233 "entries": links, 
234 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
235
236
237 /> 
238 </#if> 
239 </#if> 
240 </#if> 
241 
242 <#if hasContent('erscheinungsdatum', languageId, json)> 
243 <#assign 
244 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
245 meta = meta + { "start": startdate?date.iso, "end": "" } 
246 /> 
247 </#if> 
248 
249 <#if hasContent('startdatum', languageId, json)> 
250 <#assign 
251 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
252 meta = meta + { "start": startdate?date.iso, "end": "" } 
253 /> 
254 </#if> 
255 
256 <#if hasValue('einfuehrungText', locale, json)> 
257 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
258 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
259 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
260 </#if> 
261 
262 <#if hasContent('endedatum', languageId, json)> 
263 <#assign 
264 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
265 meta = meta + { "end": enddate?date.iso } 
266 /> 
267 </#if> 
268 
269 <#if hasContent('startzeit', languageId, json)> 
270 <#assign 
271 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
272 /> 
273 <#if startzeit?has_content > 
274 <#assign meta = meta + { "startzeit": startzeit } /> 
275 </#if> 
276 </#if> 
277 
278 <#if hasContent('endezeit', languageId, json)> 
279 <#assign 
280 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
281 meta = meta + { "endezeit": endezeit } 
282 /> 
283 </#if> 
284 
285 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
286 <#assign 
287 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
288 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
289 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
290 /> 
291 <#if ortWCSKASDEORTWebContent?has_content > 
292 <#assign 
293 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
294 /> 
295 <#if ortWCSKASDEORTTitle?has_content > 
296 <#assign 
297 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
298 /> 
299 </#if> 
300 </#if> 
301 </#if> 
302 
303 
304 <#if hasContent('veranstaltungsnummer', languageId, json)> 
305 <#assign 
306 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
307 meta = meta + { "verauuid": verauuid } 
308 /> 
309 </#if> 
310 
311 
312 <#if (data.meta)?has_content > 
313 <#assign meta = data.meta /> 
314 </#if> 
315 
316 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
317 <#assign 
318 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
319 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
320 /> 
321 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
322 
323 
324 <#if mediaData.meta?? && mediaData.meta.quelle??> 
325 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
326 </#if> 
327 </#if> 
328 
329 
330 <#if meta?has_content> 
331 <#assign data = data + {"meta": meta } > 
332 </#if> 
333 
334 <#-- END fill meta data --> 
335 
336 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
337 <#assign 
338 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
339 authors = [] 
340 /> 
341 <#list journalArticles as articleString> 
342 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
343 <#if article?has_content && article?is_hash && article.classPK??> 
344 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
345 <#if articleDereferenced?has_content > 
346 <#assign 
347 author = "" 
348 articlePrimaryKey = articleDereferenced.classPK?number 
349 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
350 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
351 /> 
352 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
353 <#if hasValue('anredetitel', languageId, articleJson)> 
354 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
355 </#if> 
356 <#if hasValue('vorname', languageId, articleJson)> 
357 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
358 </#if> 
359 <#if hasValue('nachname', languageId, articleJson)> 
360 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
361 </#if> 
362 
363 <#attempt> 
364 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
365 <#recover> 
366 <#assign href = "#" > 
367 </#attempt> 
368 <#if href?has_content && href != "#" && href != "/_404"> 
369 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
370 </#if> 
371 
372 <#assign authors = authors + [author?trim]> 
373 </#if> 
374 </#if> 
375 </#list> 
376 <#if authors?has_content> 
377 <#assign data = data + { "author": authors?join(", ") } > 
378 </#if> 
379 </#if> 
380 
381 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
382 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
383 <#if categories?has_content && categories[0]?has_content > 
384 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
385 </#if> 
386 
387 <#if hasContent('ausgebucht', languageId, json)> 
388 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
389 </#if> 
390 
391 <#if hasContent('storniert', languageId, json)> 
392 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
393 </#if> 
394 
395 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
396 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
397 <#if categories?has_content && categories[0]?has_content > 
398 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
399 </#if> 
400 <#else> 
401 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
402 <#if categories?has_content && categories[0]?has_content > 
403 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
404 </#if> 
405 </#if> 
406 
407 
408 <#assign 
409 languages = [] 
410 /> 
411 
412 <#attempt> 
413 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
414 <#if availablelanguages?has_content> 
415 <#list availablelanguages as pdf_language> 
416 <#assign 
417 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
418 docRef = FrontendService.json.parseAsJson(docRefJson) 
419 /> 
420 <#if docRef?is_hash && pdf_language != languageId > 
421 <#assign 
422 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
423 docGroupId = docRef["groupId"]?number 
424 docUuid = docRef["uuid"] 
425 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
426 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
427 /> 
428 <#if lang?has_content> 
429 <#assign 
430 languages = languages + [ 
431
432 "key": pdf_language, 
433 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
434 "url": dMTLink 
435 }] 
436 /> 
437 </#if> 
438 </#if> 
439 </#list> 
440 </#if> 
441 </#if> 
442 <#recover> 
443 </#attempt> 
444 
445 <#if (languages?size > 0)> 
446 <#attempt> 
447 <#assign 
448 data = data + { "languageSelect": { 
449 "id": "languageSelect", 
450 "name": "languageselect", 
451 "entries": languages, 
452 "documents": "", 
453 "button": "true" 
454 }} 
455 /> 
456 <#recover> 
457 </#attempt> 
458 </#if> 
459 
460 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
461 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
462 
463 <#if data.meta?has_content> 
464 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
465 <div>  
466 <div id="publicationVerbundPagination"> 
467 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
468 </div> 
469 </div> 
470 </#if> 
471 </#if> 
472 
473<#elseif (editmode?? && editmode)> 
474 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
475</#if> 

Asset-Herausgeber

 

Impfungen und Investitionen

Das Treffen mit Joe Biden am 21. Mai 2021 war der Höhepunkt eines insgesamt viertägigen Aufenthalts des südkoreanischen Präsidenten in den USA. Entsprechend umfangreich war dessen Agenda. Trotz anhaltender Erfolge bei der Eindämmung der COVID19-Pandemie sehen sich die Koreanerinnen und Koreaner beim Thema Impfungen zunehmend abgehängt. Biden sagte zu, dass mehr US-amerikanische Impfstoffvorräte ihren Weg nach Südkorea finden sollen, insbesondere für die 550.000 südkoreanischen Soldatinnen und Soldaten. Außerdem soll Südkorea von Patenterleichterungen profitieren und zu einem Hub in der Impfstoffproduktion werden.

Auch hochrangige Vertreter der südkoreanischen Wirtschaft, darunter der Vorstandsvorsitzende der SK Group und Präsident der koreanischen Industrie- und Handelskammer, reisten in die USA. Koreanische Unternehmen sind Weltmarktführer in der Produktion von Halbleitern und sollen eine zentrale Rolle bei der Behebung des aktuellen Chip-Mangels spielen. Bis 2030 wird daher die südkoreanische Regierung den Aufbau des weltweit größten Produktionskomplexes K-Semiconductor Belt mit öffentlichen Investitionen und Steueranreizen massiv unterstützen. Unmittelbar vor dem Gipfel kündigten koreanische Unternehmen, darunter die vier Riesen Samsung, SK, LG und Hyundai, zugleich  Investitionen in Höhe von 40 Mrd. US-Dollar in amerikanische Standorte an.

 

Policy Review

Für größte Spannung und Aufmerksamkeit zumindest in Korea sorgte allerdings die neue US-Strategie im Verhältnis zu Nordkorea. Nach ihrem Amtsantritt hatte die Biden-Regierung einen North Korea Policy Review angekündigt und durchgeführt, der am 30. April abgeschlossen wurde. Details zu Ergebnissen wurden allerdings noch nicht veröffentlicht. Allerdings suchte die US-Regierung von Beginn demonstrativ das Gespräch mit ihren wichtigsten asiatischen Alliierten: Die ersten Reisen von Kabinettsmitgliedern führten Außenminister Blinken und Verteidigungsminister Austin nach Tokyo und Seoul. Es folgten bi- und trilaterale Treffen der Streitkräfte sowie ein Besuch der US-Geheimdienstdirektorin Haines in den Hauptstädten der beiden Verbündeten sowie in der Demilitarisierten Zone (DMZ). Auch im Rahmen des G7-Außenministertreffens, zu dem auch der südkoreanische Außenminister Chung eingeladen worden war, wurde die neue Strategie beraten.

Sie sucht ein Gleichgewicht zwischen den Ansätzen unter den Präsidenten Obama und Trump. Feindseligkeiten sollen vermieden und diplomatische Kanäle reaktiviert werden. Washington signalisiert Verhandlungsbereitschaft und will auf den 2018 mit Kim Jong Un von Moon Jae In und Donald Trump geschlossenen Vereinbarungen aufbauen. Gleichzeitig bleiben die Sanktionen in Kraft, Abschreckung ein wichtiges Instrument und eine vollständige Denuklearisierung als Ziel ausdrücklich erhalten.

 

Halb voll – Optimismus aus Seoul

Moon Jae In scheint mit dem Ergebnis des Gipfels hochzufrieden. Obgleich er der Überwindung der Pandemie die größte Aufmerksamkeit schenken muss, hatte er anlässlich seines vierten Jahrestags im Amt Anfang des Monats bekräftigt, sich weiter um eine Wiederaufnahme von Verhandlungen mit Nordkorea zu bemühen. Trotz unverkennbarer Rückschritte und Risiken, die auch Mitglieder seiner Regierung und Partei anerkennen, steht Präsident Moon für eine Politik der ausgestreckten Hand. Von amerikanischer Seite werden Teile seiner Politik allerdings als übermäßige Zugeständnisse kritisiert. Am ersten Tag seines Aufenthalts in Washington war deshalb auch das Verbot des Ballonversands von Flugblättern durch Aktivisten über die innerkoreanischen Demarkationslinie Gegenstand von Gesprächen mit Nancy Pelosi und anderen im US-Kongress, die sich besorgt über die Auswirkungen dieser Maßnahme auf das Gut der Meinungsfreiheit gezeigt hatten.

Aus Sicht der südkoreanischen Regierung steht aber der Eindruck der Einigkeit im Vordergrund. Moon Jae In hatte durchgehend darum geworben, die Errungenschaften der von ihm unterstützten Gipfeldiplomatie Donald Trumps anzuerkennen; man sollte das Kind nicht mit dem Bade ausschütten. Dass die gemeinsame Erklärung mit Biden sich auf die Ergebnisse der Treffen von Panmunjeom und Singapur 2018 beruft und die USA wieder einen Sondergesandten für Nordkorea ernennen, sind klare Punktgewinne für Moon, sowie ein Hinweis, dass man in Washington wieder stärker auf Bedürfnisse von Verbündeten eingehen möchte. Im Gegenzug unterstrichen die beiden Präsidenten zwar auch die Bedeutung einer robusten Allianz und hoben Einschränkungen für südkoreanische Raketenentwicklungen auf. Biden wiederholte, weitere Treffen mit Kim Jong Un gebe es mit ihm nur unter klaren Vorbedingungen. Für Seoul aber zählen die Signale seiner Verhandlungsbereitschaft. Sie nähren die Hoffnung auf Diplomatie und auch große Schritte wie eine Erklärung zur Beendigung des Koreakrieges, der bislang nur in einem Waffenstillstand endete und formal seit 70 Jahren weiter andauert.

 

Halb leer - Ablehnung aus Pjöngjang

Eine konkrete Reaktion auf das Treffen zwischen Moon und Biden ist aus Nordkorea nicht zu erwarten. Mehrere Angebote aus Seoul warten schon seit vielen Monaten auf Rückmeldung aus Pjöngjang. An Gesprächen oder gar Kooperation zu zweitrangigen Themen habe man kein Interesse, hieß es. Aber auch die meisten Anfragen der US-Regierung seit dem Regierungswechsel in Washington blieben unbeantwortet. Gerüchten zufolge will sich das Regime in Pjöngjang bestenfalls die neue US-Strategie vorstellen lassen. Die ersten Reaktionen auf die Andeutungen zu deren Inhalt waren allerdings eindeutige Warnungen. Washington beginne ein gefährliches Spiel. Es müsse davon ausgehen, dass dies dazu führen könne, dass die Situation außer Kontrolle gerate. Insofern ist es schon ein positives Signal, dass es anlässlich des Gipfeltreffens nicht zu weiteren Eskalationsschritten gekommen ist.

Veröffentlichungen in den nordkoreanischen Medien haben seit dem gescheiterten Gipfel von Hanoi 2019 unmissverständlich Enttäuschung über die US-Regierung zum Ausdruck gebracht. Das Angebot schrittweiser Sanktionsaufweichung scheint für die nordkoreanische Elite nicht verhandlungsfähig – mindestens. Eine Aufgabe der bislang erreichten nuklearen Rüstungskapazitäten ist – wenn überhaupt – nur in ferner Zukunft und gegen weit mehr Zugeständnisse denkbar. Das oberste Interesse bleibt der Erhalt des Regimes. Entsprechende Sicherheitsgarantien sind unverzichtbar. Zwar muss Kim Jong Un auch noch das Versprechen von mehr Wohlstand für die Bevölkerung einlösen; eine höhere Priorität hat aber wohl das Fernziel einer nötigenfalls militärisch erzwungenen Wiedervereinigung mit Südkorea. Dazu bleiben jegliche Schwächung der Allianz zwischen Südkorea und den USA und vor allem der Abzug des US-amerikanischen Militärs treibende Motive nordkoreanischer Strategie und Taktik. Trotz der desaströsen wirtschaftlichen Folgen der totalen Abschottung seit Januar 2020 hat Pjöngjang alle Hilfsangebote, vor allem aus dem Süden, abgelehnt. Stattdessen setzt es auf eine Reaktivierung des im Zuge der Corona-Pandemie massiv geschrumpften Handels mit seinem einzigen Verbündeten China, das ihn damit wie seit Jahrzehnten am Leben hält.

 

Was ist nicht zu erwarten?

Angesichts der ablehnenden Haltung Pjöngjangs gegenüber den bisherigen Verhandlungsinitiativen aus Seoul und der erwartungsgemäß auch mit der neuen US-Strategie nicht erfüllten Forderung Nordkoreas nach deutlich mehr Zugeständnissen scheint es unwahrscheinlich, dass das Regime in Pjöngjang die Aussagen der Gipfelerklärungen unmittelbar aufgreifen wird.

Vielmehr ist zu erwarten, dass Nordkorea die Zeit nutzen will, um weitere Fortschritte in seiner nuklearen, aber auch konventionellen Waffenentwicklung zu erzielen und mögliche Risse in den amerikanisch-südkoreanischen Beziehungen auszunützen. Während die Beziehungen zur Volksrepublik China und der globale Systemwettbewerb höchste Priorität und dominanter Einflussfaktor für nahezu alle Politikbereiche für die USA auch unter Präsident Biden sein werden, liegt der südkoreanische Fokus auf den innerkoreanischen Beziehungen. Seine internationalen Beziehungen, besonders zu den Großmächten, diskutiert, bewertet und gestaltet Seoul nicht erst in der laufenden Amtszeit von Moon Jae In stets im Lichte der Nordkoreafrage. Diese umgekehrte Priorisierung scheint ein potentieller Nährboden für Missverständnisse und Divergenzen mit den amerikanischen Verbündeten zu sein. Zudem fühlt sich Moon Jae In mit Blick auf das Ende seiner Präsidentschaft wohl einem akuten Handlungsdruck ausgesetzt.

 

Auswirkungen auf die Wahl in Südkorea

Denn im Mai 2022 wählen die Südkoreanerinnen und Südkoreaner ein neues Staatsoberhaupt. Da dessen Amtszeit auf fünf Jahre begrenzt ist, kann Moon Jae In nicht wieder antreten. Für ihn persönlich geht es daher um Bilanz und Vermächtnis. Doch immer mehr Stimmen bewerten seine Regierung kritisch, sehen ihn schon als handlungsunfähig und gehen seiner Minju-Partei in Umfragen und Wahlen verloren. Der amtierende Präsident wird daher weiter versuchen, die Öffentlichkeit und Wählerschaft auf die gewonnene Anerkennung in Washington hinzuweisen und an – auch für ihn – „sonnigere Tage“ auf der Halbinsel zu erinnern. Das Blatt zu wenden, dürfte ihm allein damit aber schwerfallen.

 

Fazit

Das Treffen zwischen Joe Biden und Moon Jae In in Washington hat durchaus wichtige Ergebnisse gebracht, dazu zählen die Vereinbarungen zur Zusammenarbeit bei Impfversorgung und Investitionen sowie jene zur weiteren Entwicklung der Allianz. Dazu besaß der Gipfel auch einen hohen symbolischen Wert. Der amerikanische Präsident setzt den engen Dialog mit den Verbündeten besonders im Indo-Pazifik fort und erweist ihnen – in eigenem Interesse und anders als sein Vorgänger – betont und diplomatisch Respekt und Wertschätzung. Deutlich wird aber auch, dass die USA Beiträge ihrer Verbündeten einfordern und das Mehr an Transparenz bei ihrer Strategie genauso wie im Hinblick auf die Erwartungen gilt.

Mit ihrer neuen Nordkoreapolitik erkennt die Biden-Regierung die Defizite vorheriger Ansätze, verspricht aber eine größere Offenheit gegenüber Initiativen aus Seoul. Das kommt zwar dem vor allem innenpolitisch angeschlagenen südkoreanischen Präsidenten entgegen. Substantielle und schnelle Fortschritte, wie sie sich Moon Jae In wünscht und wohl auch für möglich hält, dürften sich aber auch weiter als unrealistisch erweisen. Dass Gipfeltreffen allein noch keine Lösung herbeiführen können, gehört für Korea zu den bekannten und bitteren Lektionen der letzten Jahre. Entscheidend ist, was folgt – und dies bleibt ein langer und steiniger Weg.

Asset-Herausgeber

Kontakt

Thomas Yoshimura

Thomas Yoshimura

Leiter des Auslandsbüros Korea Interimsleiter des Auslandsbüros Japan bis Juli 2024

thomas.yoshimura@kas.de +82 2 790 4774 +82 2 793 3979
Länderberichte
reuters
19. Februar 2021
Jetzt lesen
Länderberichte
© Dickson Phua / Flickr / CC BY-NC-ND 2.0
21. Januar 2021
Jetzt lesen

comment-portlet

Asset-Herausgeber