Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 127, 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 127, 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 
98 title = entry.getTitle(languageId) 
99 data = { 
100 "title": title 
101
102 /> 
103 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
104 
105 <#if hasContent('untertitel', languageId, json)> 
106 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
107 </#if> 
108 
109 <#if hasContent('beschreibung', languageId, json)> 
110 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
111 </#if> 
112 
113 <#-- fill meta data --> 
114 <#assign meta = {} /> 
115 
116 <#-- PUBLIKATIONEN DETAIL --> 
117 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
118 
119 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
120 <#assign 
121 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
122 /> 
123 
124 <#if coverBildString?has_content> 
125 <#assign 
126 coverBild = FrontendService.json.parseAsJson(coverBildString) 
127 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
128 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
129 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
130 /> 
131 <#if dMTJsonObject.altText?? > 
132 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
133 </#if> 
134 <#if dMTJsonObject.quelle??> 
135 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
136 </#if> 
137 </#if> 
138 <#-- uncomment to display pdf cover as Intro Image 
139 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
140 <#assign 
141 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
142 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
143 <#if fileEntry?has_content> 
144 <#assign 
145 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
146 data = data + { "media": linkToThumbnail } 
147 /> 
148 </#if> 
149 --> 
150 </#if> 
151 
152 <#assign 
153 meta = meta + { "orderInfo": "true" } 
154 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
155 /> 
156 
157 
158 
159 <#if hasContent('erscheinungsdatum', languageId, json)> 
160 <#assign 
161 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
162 /> 
163 <#if erscheinungsdatum?has_content > 
164 <#assign 
165 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
166 meta = meta + { "date": erscheinungsdatumFormatted } 
167 /> 
168 </#if> 
169 </#if> 
170 
171 <#if verbundJournalArticle?has_content> 
172 <#assign 
173 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
174 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
175 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
176 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
177 /> 
178 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
179 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
180 
181 <#if coverImg?has_content && coverImg.url?has_content > 
182 <#assign meta = meta + { "coverImg": coverImg.url } > 
183 </#if> 
184 </#if> 
185 
186 
187 <#if meta?has_content> 
188 <#assign data = data + {"meta": meta } > 
189 </#if> 
190 
191 </#if> 
192 <#-- PUBLIKATIONEN DETAIL END --> 
193 
194 
195 <#-- VERANSTALTUNGEN DETAIL --> 
196 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
197 <#assign 
198 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
199 languages = entry.getAvailableLanguageIds() 
200 links = [] 
201 /> 
202 <#if languages?has_content && friendlyUrl?has_content> 
203 <#if (languages?size > 1) > 
204 <#list languages as language> 
205 <#assign 
206 defaultLanguage = "de_DE" 
207 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
208 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
209 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
210 
211 link = { 
212 "key": language!defaultLanguage, 
213 "value": linkLocale.getDisplayLanguage(languageId), 
214 "url": "/c/portal/update_language?p_l_id=" + 
215 layout.plid + "&redirect=" + langFriendlyUrl + 
216 "&languageId=" + language 
217
218 /> 
219 <#if language == languageId> 
220 <#assign link = link + { "selected": "true" } > 
221 </#if> 
222 <#assign links = links + [link]> 
223 </#list> 
224 <#assign 
225 data = data + { 
226 "languageSelect": { 
227 "id": "languageSelectRedirect", 
228 "name": "languageselectRedirect", 
229 "entries": links, 
230 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
231
232
233 /> 
234 </#if> 
235 </#if> 
236 </#if> 
237 
238 <#if hasContent('erscheinungsdatum', languageId, json)> 
239 <#assign 
240 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
241 meta = meta + { "start": startdate?date.iso, "end": "" } 
242 /> 
243 </#if> 
244 
245 <#if hasContent('startdatum', languageId, json)> 
246 <#assign 
247 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
248 meta = meta + { "start": startdate?date.iso, "end": "" } 
249 /> 
250 </#if> 
251 
252 <#if hasValue('einfuehrungText', locale, json)> 
253 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
254 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
255 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
256 </#if> 
257 
258 <#if hasContent('endedatum', languageId, json)> 
259 <#assign 
260 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
261 meta = meta + { "end": enddate?date.iso } 
262 /> 
263 </#if> 
264 
265 <#if hasContent('startzeit', languageId, json)> 
266 <#assign 
267 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
268 /> 
269 <#if startzeit?has_content > 
270 <#assign meta = meta + { "startzeit": startzeit } /> 
271 </#if> 
272 </#if> 
273 
274 <#if hasContent('endezeit', languageId, json)> 
275 <#assign 
276 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
277 meta = meta + { "endezeit": endezeit } 
278 /> 
279 </#if> 
280 
281 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
282 <#assign 
283 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
284 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
285 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
286 /> 
287 <#if ortWCSKASDEORTWebContent?has_content > 
288 <#assign 
289 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
290 /> 
291 <#if ortWCSKASDEORTTitle?has_content > 
292 <#assign 
293 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
294 /> 
295 </#if> 
296 </#if> 
297 </#if> 
298 
299 
300 <#if hasContent('veranstaltungsnummer', languageId, json)> 
301 <#assign 
302 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
303 meta = meta + { "verauuid": verauuid } 
304 /> 
305 </#if> 
306 
307 
308 <#if (data.meta)?has_content > 
309 <#assign meta = data.meta /> 
310 </#if> 
311 
312 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
313 <#assign 
314 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
315 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
316 /> 
317 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
318 
319 
320 <#if mediaData.meta?? && mediaData.meta.quelle??> 
321 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
322 </#if> 
323 </#if> 
324 
325 
326 <#if meta?has_content> 
327 <#assign data = data + {"meta": meta } > 
328 </#if> 
329 
330 <#-- END fill meta data --> 
331 
332 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
333 <#assign 
334 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
335 authors = [] 
336 /> 
337 <#list journalArticles as articleString> 
338 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
339 <#if article?has_content && article?is_hash && article.classPK??> 
340 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
341 <#if articleDereferenced?has_content > 
342 <#assign 
343 author = "" 
344 articlePrimaryKey = articleDereferenced.classPK?number 
345 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
346 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
347 /> 
348 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
349 <#if hasValue('anredetitel', languageId, articleJson)> 
350 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
351 </#if> 
352 <#if hasValue('vorname', languageId, articleJson)> 
353 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
354 </#if> 
355 <#if hasValue('nachname', languageId, articleJson)> 
356 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
357 </#if> 
358 
359 <#attempt> 
360 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
361 <#recover> 
362 <#assign href = "#" > 
363 </#attempt> 
364 <#if href?has_content && href != "#" && href != "/_404"> 
365 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
366 </#if> 
367 
368 <#assign authors = authors + [author?trim]> 
369 </#if> 
370 </#if> 
371 </#list> 
372 <#if authors?has_content> 
373 <#assign data = data + { "author": authors?join(", ") } > 
374 </#if> 
375 </#if> 
376 
377 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
378 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
379 <#if categories?has_content && categories[0]?has_content > 
380 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
381 </#if> 
382 
383 <#if hasContent('ausgebucht', languageId, json)> 
384 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
385 </#if> 
386 
387 <#if hasContent('storniert', languageId, json)> 
388 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
389 </#if> 
390 
391 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
392 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
393 <#if categories?has_content && categories[0]?has_content > 
394 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
395 </#if> 
396 <#else> 
397 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
398 <#if categories?has_content && categories[0]?has_content > 
399 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
400 </#if> 
401 </#if> 
402 
403 
404 <#assign 
405 languages = [] 
406 /> 
407 
408 <#attempt> 
409 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
410 <#list json["document_pdfDMTBASICDOCUMENT"]?keys as pdf_language> 
411 <#if pdf_language?has_content > 
412 <#assign 
413 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
414 docRef = FrontendService.json.parseAsJson(docRefJson) 
415 /> 
416 <#if docRef?is_hash && pdf_language != languageId > 
417 <#assign 
418 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
419 docGroupId = docRef["groupId"]?number 
420 docUuid = docRef["uuid"] 
421 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
422 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
423 /> 
424 <#if lang?has_content> 
425 <#assign 
426 languages = languages + [ 
427
428 "key": pdf_language, 
429 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
430 "url": dMTLink 
431 }] 
432 /> 
433 </#if> 
434 </#if> 
435 </#if> 
436 </#list> 
437 </#if> 
438 <#recover> 
439 </#attempt> 
440 
441 <#if (languages?size > 0)> 
442 <#attempt> 
443 <#assign 
444 data = data + { "languageSelect": { 
445 "id": "languageSelect", 
446 "name": "languageselect", 
447 "entries": languages, 
448 "documents": "", 
449 "button": "true" 
450 }} 
451 /> 
452 <#recover> 
453 </#attempt> 
454 </#if> 
455 
456 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
457 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
458 
459 <#if data.meta?has_content> 
460 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
461 <div>  
462 <div id="publicationVerbundPagination"> 
463 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
464 </div> 
465 </div> 
466 </#if> 
467 </#if> 
468 
469<#elseif (editmode?? && editmode)> 
470 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
471</#if> 

Asset Publisher

 

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 Publisher

Contact

Thomas Yoshimura

Thomas Yoshimura

Resident Representative in Korea Interim Head of the Japan office until July 2024

thomas.yoshimura@kas.de +82 2 793 3979

comment-portlet

Asset Publisher