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 128, 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 128, 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 hasContent('beschreibung', languageId, json)> 
111 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
112 </#if> 
113 
114 <#-- fill meta data --> 
115 <#assign meta = {} /> 
116 
117 <#-- PUBLIKATIONEN DETAIL --> 
118 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
119 
120 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
121 <#assign 
122 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
123 /> 
124 
125 <#if coverBildString?has_content> 
126 <#assign 
127 coverBild = FrontendService.json.parseAsJson(coverBildString) 
128 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
129 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
130 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
131 /> 
132 <#if dMTJsonObject.altText?? > 
133 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
134 </#if> 
135 <#if dMTJsonObject.quelle??> 
136 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
137 </#if> 
138 </#if> 
139 <#-- uncomment to display pdf cover as Intro Image 
140 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
141 <#assign 
142 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
143 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
144 <#if fileEntry?has_content> 
145 <#assign 
146 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
147 data = data + { "media": linkToThumbnail } 
148 /> 
149 </#if> 
150 --> 
151 </#if> 
152 
153 <#assign 
154 meta = meta + { "orderInfo": "true" } 
155 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
156 /> 
157 
158 
159 
160 <#if hasContent('erscheinungsdatum', languageId, json)> 
161 <#assign 
162 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
163 /> 
164 <#if erscheinungsdatum?has_content > 
165 <#assign 
166 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
167 meta = meta + { "date": erscheinungsdatumFormatted } 
168 /> 
169 </#if> 
170 </#if> 
171 
172 <#if verbundJournalArticle?has_content> 
173 <#assign 
174 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
175 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
176 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
177 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
178 /> 
179 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
180 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
181 
182 <#if coverImg?has_content && coverImg.url?has_content > 
183 <#assign meta = meta + { "coverImg": coverImg.url } > 
184 </#if> 
185 </#if> 
186 
187 
188 <#if meta?has_content> 
189 <#assign data = data + {"meta": meta } > 
190 </#if> 
191 
192 </#if> 
193 <#-- PUBLIKATIONEN DETAIL END --> 
194 
195 
196 <#-- VERANSTALTUNGEN DETAIL --> 
197 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
198 <#assign 
199 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
200 links = [] 
201 /> 
202 <#if availablelanguages?has_content && friendlyUrl?has_content> 
203 <#if (availablelanguages?size > 1) > 
204 <#list availablelanguages 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 <#if availablelanguages?has_content> 
411 <#list availablelanguages as pdf_language> 
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 </#list> 
436 </#if> 
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

Nach dem wenig überraschenden Rücktritt von Yoshihide Suga, der in seiner kurzen Amtszeit vor enormen Herausforderungen stand, übernahm am 29. September dieses Jahres Fumio Kishida (64) den Parteivorsitz der Liberaldemokraten (LDP) und am 4.  Oktober das Amt des Premierministers. Kishida, der aus familiärer Verbundenheit seinen Heimatwahlkreis Hiroshima I seit 1996 im nationalen Parlament vertritt, ist Japans längst-gedienter Außenminister (2012-2017). Nach zwei erfolglosen Versuchen, die LDP zu anzuführen (2018, 2020), setzte sich Kishida gegen drei starke Kandidaten durch.

Zum ersten Mal überhaupt bewarben sich zwei Frauen um das Präsidentenamt der regierenden LDP. Dass sie unterlagen, ist weniger ihren sehr unterschiedlichen politischen Inhalten als der fehlenden innerparteilichen Unterstützung geschuldet und verweist auf ein endemisches Problem: Frauen werden diese Führungspositionen noch nicht zugetraut. Das positive Echo auf die Aussicht, dass Japan von einer Frau hätte regiert werden können, setzt die konservative LDP etwas unter Zugzwang. Das einst unter Shinzo Abe ausgegebene Ziel, bis 2020 mindestens 30% mehr weibliche Führungskräfte zu benennen, wurde wegen grober Zielverfehlung gekappt und kurzerhand auf 2030 verschoben. Im Ergebnis belegt Japan Platz 120 (von 156) im Global Gender Gap Report 2021 des World Economic Forums. Bezeichnend dafür ist der geringe Frauenanteil im neuen Parlament: sie stellen nicht einmal 10% der gesamten Mandate (Gesamtanzahl der Sitze 465). Den höchsten Frauenanteil bietet die Constitutional Democratic Party mit 13,5% auf. In der LDP finden sich lediglich 7,6% Frauen. Grund genug für die LDP und die Regierung, endlich zu liefern.

Und Kishida könnte liefern. Er hat die Unterhauswahlen am 31. Oktober mit sehr großem Abstand zu den unsortierten Oppositionsparteien gewonnen (48,05%, 261 von 465 Sitzen) und kann sich – nach der erneuten Bestätigung als Premierminister und Vereidigung seines zweiten Kabinetts Mitte November – ganz der Umsetzung der üppigen Wahlversprechen widmen, die maßgeblich von den konservativen Kräften der LDP um Abe formuliert wurden. Erhebliche Subventionen für kleine und mittelständische Unternehmen (Post-Covid Wachstumsförderung), massive Investitionen in neue Technologien, Zuschüsse für digitalen und technologischen Umbau der Unternehmen, Förderung und Ausbau erneuerbarer Energien, Steuerreformen und Vermögensverteilung sowie die Erhöhung des Verteidigungshaushalts auf deutlich über 2% sind die budgetintensivsten, zugleich wichtigsten Vorhaben der LDP. Frauenförderung, oder überhaupt „Womenomics“, ist erneut keines der drängenden Themen, die Kishida und sein neues Kabinett immediat angehen wird. Wirtschaftlich wird sich diese Nachlässigkeit rächen. Japan braucht eine stabile Frauenerwerbsquote, und die ist nur mit überarbeiteten Einstellungs- und Beförderungsrichtlinien und -prozessen zu erreichen.

 

Drei bestimmende Schwerpunkte: Arbeitskräfte, Wirtschaftswachstum und Klimaneutralität

Die Uno-Weltbevölkerungsprognose (2019) sagt voraus, dass Japans Erwerbsbevölkerung (15- bis 64-jährige) zwischen 2020 und 2050 ein Defizit von 21 bis 54 Millionen aufweisen wird. Die Bevölkerung der ab 65-jährigen wird sich von 18 Millionen (Stand 1995) auf 34 Millionen (2045) nahezu verdoppeln. 2025 wird jede dritte Japanerin oder jeder dritte Japaner 65 Jahre oder älter sein. Der Abhängigkeitsquotient (Anteil der Nichterwerbstätigen auf 100 Erwerbstätige) wird in dieser Zeit von 69% auf 97% steigen – der höchste Wert in der OECD. Diese Zahlen könnten noch drastischer sein, bliebe die Arbeitslosenquote so niedrig wie bisher.  Dem Rückgang der Erwerbstätigen will Japan seit Abe mit dem vielzitierten „Society 5.0“ Programm beikommen, welches, wie in den Wahlprogrammen beschrieben, Investitionen und Entwicklung von Technologien vorsieht, die Arbeitskräfte ersetzen oder entlasten können. Kishida wird sich in seiner Amtszeit ebenso mit der Problematik der Arbeitsmigration und der Reform der Einwanderung beschäftigen müssen.

Drängender jedoch sind weitere Entlastungen für die Pandemie-geplagte Wirtschaft. Die umfangreichen Maßnahmen der Regierung für die KMU während der Pandemie haben dazu beigetragen, dass Unternehmensinsolvenzen minimal blieben. Das Spektrum arbeitsspezifischer Fördermaßnahmen umfasste Teilkündigungen, Lohnzuschüsse und Zuschüsse für Selbständige. Zweitens erlaubte es einen Zahlungsaufschub für Einkommensteuer, Miete und Nebenkosten. Drittens stellte die Regierung drei Arten finanzieller Unterstützung bereit: Darlehensgarantien, Direktdarlehen und Zuschüsse zu Subventionen. Die neuen strukturellen Richtlinien betrafen Telearbeit und Digitalisierung, Innovation und Ausbildung sowie Umgruppierungen und Versetzungen. Im Oktober 2021 erließ die japanische Regierung verschiedene Vorsorgepläne und etliche Beihilferegularien zur Aufrechterhaltung der Beschäftigung.  Sonderauszahlungen an Zeitarbeiter und eine Neuauflage des Subventionsprogramms „Go to Travel“ gehören in diesen Maßnahmenkatalog ebenso wie die Auflage eines neuen Konjunkturpakets, welches im November geschnürt sein soll. Maßgebliche Höhe des Pakets: 325 Milliarden EUR.

Viel grundsätzlicher ist Kishidas Absicht, eine "neue Form des japanischen Kapitalismus" zu etablieren. Jenseits der mit Deregulierung und schuldenfinanzierter Konjunkturprogramme erzielten Unternehmensgewinne und Beschäftigung möchte Kishida nachhaltiges Wachstum schaffen. Er wirbt folglich für eine ganzheitliche Sicht auf die Wirtschaft. Sein Ziel ist es, möglichst viele Menschen, insbesondere die Mittelklasse, vom Wachstum profitieren zu lassen und verspricht u.a. deutlich höhere Löhne für Arbeitnehmer. Aus neoliberal wird nun sozial. 

Die dritte große Aufgabe, vor der Kishidas neue Regierung steht, ist das Versprechen, Japan bis 2050 klimaneutral wirtschaften zu lassen. Drastische Emissionsreduzierung war einst Sugas großer Wurf, den Kishida auf dem COP26, der Klimakonferenz der Vereinten Nationen in Glasgow am 3. November, mit weiteren Zusagen übertraf. Bis 2030 will das ressourcenarme Japan als fünftgrößter Emittent seinen Anteil erneuerbarer Energien am Strommix auf 50% erhöhen. Die Kohleverstromung soll heruntergefahren werden, gleichzeitig sind die industrielle Nutzung von CO2 sowie industriefähigem Wasserstoff wichtige Komponenten für das hehre Klimaneutralitätsziel. Kishida möchte Japan an der Spitze der globalen grünen Industrie sehen. Bei kluger Verzahnung mit seinen nachhaltigen Wachstumszielen könnte dies sogar gelingen.

 

Nach der Wahl ist in Japan immer auch vor der Wahl

Schon im Juli 2022 stehen die Oberhauswahlen an und Kishida benötigt bis dahin überzeugende Arbeitsergebnisse, um gefestigt im Amt zu sein. Er muss die Faktionen innerhalb der LDP ihm gewogen halten, das gilt insbesondere für die gewichtige Gruppe um Shinzo Abe. Kishidas bisherige Agenda ist bis auf das stark sozial ausgerichtete Wirtschaftsprogramm maßgeblich von seinen Vorgängern geprägt. Zugleich bestimmt die COVID-Pandemie auch in ihrem dritten Jahr fast vollständig das politische Tagesgeschäft. Immerhin sind die Infektionszahlen drastisch gesunken und die Impfungen weit vorangeschritten. Davon hat die LDP stark profitieren können. Kishidas Umfragewerte während seiner ersten Amtstage jedoch nicht.

Am 11. November, auf der konstituierenden Sitzung des Parlaments nach den Unterhauswahlen, hat Kishida sein neues Kabinett vorgestellt, dem wieder nur drei Ministerinnen (von 21 Posten) angehören. Eine seiner Mitbewerberin um den Parteivorsitz ist dabei: Seiko Noda ist als Ministerin für „Gender Equality“ berufen worden. Mit ihr hätte die LDP einer erfahrenen und angesehenen Vorkämpferin für Frauenförderung und Genderpolitik an die Staatsspitze verholfen. Im Amt verblieben ist unter anderem Verteidigungsminister Nobuo Kishi, Shinzo Abes jüngerer Bruder. Ähnlich wie sein Vorgänger Taro Kono gehört er zu den Hardlinern der LDP gegenüber China. Zum ersten Mal überhaupt ist Taiwan als zu schützendes Land im Weißbuch des Verteidigungsministeriums aufgenommen worden. Umso erstaunlicher ist daher die Wahl des neuen Außenministers. Der bisherige Amtsinhaber, Toshimitsu Motegi, übernimmt den Posten des Generalsekretärs der LDP und wird zur Nummer Zwei in der Partei. Die Berufung von Nachfolger Yoshimasa Hayashi als Topdiplomat wird in den Kreisen der China-Kritiker heftig debattiert: Hayashi steht, wie schon sein Vater, der parlamentarischen China-Japan Freundschaftsgruppe vor und ist für einen eher weichen, nachgiebigen Kurs bekannt.

Außenpolitisch sind die Parameter für Kishida bereits vorgegeben: die Beziehungen zu den USA sollen möglichst eng und vertrauensvoll bleiben. Dies hat Verteidigungsminister Kishi in einer Pressekonferenz am 12. November noch einmal nachdrücklich unterstrichen. Japan muss sich angesichts der wachsenden militärischen Aggressionen im Ostchinesischen Meer positionieren. In der Konsequenz ist vor einigen Monaten das regionale Sicherheitsbündnis „Quad“ aufgewertet worden; regelmäßige Treffen finden auf höchster Ebene zwischen den USA, Japan, Australien und Indien statt. Hilfreich sind hierbei die aktuellen Initiativen der EU, Deutschlands und Frankreichs, die Sicherheit und Wohlstand in der indo-pazifischen Region zu einem außen- und verteidigungspolitischen Schwerpunkt erklärt haben.

Dennoch wird Kishida vornehmlich an innenpolitischen Erfolgen gemessen. Will er längerfristig im Amt bleiben, muss er in der Gesellschaft sichtbar sein, politischen und wirtschaftlichen Aufbruch verkörpern. Das wird schwer, angesichts des innerparteilich stark gewachsenen Einfluss von Shinzo Abe. Dieser hat kürzlich die stärkste Faktion innerhalb der LDP übernommen und ist Nachfolger von Hiroyuki Hosoda, der zum Parlamentspräsidenten gewählt wurde. Die 90 Abgeordnete umfassende Gruppe hat bisher vier Premierminister hervorgebracht. Wohl nicht ohne Grund hält sich hartnäckig das Gerücht in Tokios politischen Hinterzimmern, der bis dato längst-gediente Premierminister könne alsbald selbst wieder antreten.

Asset Publisher

Contact

Paul Linnarz

Paul Linnarz bild

Representative Tokyo Office and Director Regional Program "Economic Governance in Asia" (SOPAS)

paul.linnarz@kas.de +81 3 6426 5041
Country reports
Reuters/Eugene Hoshiko
September 8, 2020
read now

comment-portlet

Asset Publisher