Scrlttr2: how to match the text body on all pages correctly

koma-scriptscrlttr2

In my letter I would like that the table fills the space all the way to the footer or at least the same length as all the following pages. When I add \setlength{\footskip}{0mm} it does this on the first page, but not on all the following pages. Also, I 'd like to have my table a little bit wider. I can do so by adding DIV=14 to the options of scrlttr2, but then the text body collides with the header and the footer on the second page and following. So how can should I set the text body wider to fit my table?

Edit: seems that my question is similar to this one. I just added the line \setlength{\footskip}{0mm}, '\setlength{\textheight}{22cm' an enlargefirstpage=true in the scrlttr2 options. It does the trick for the empty space on the bottom pages before the footer.

Here is my document:

\documentclass[
  fontsize=11pt, 
  parskip=half, 
  firsthead=off
]{scrlttr2}


%just for measure 
\usepackage{xcolor}
\usepackage[grid, gridunit=mm, gridcolor=blue!40, subgridcolor=blue!20]{eso-pic} 

\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{xltabular}

\usepackage{blindtext}% only for dummy text

\renewcommand*\familydefault{\sfdefault}
\renewcommand*{\raggedsignature}{\raggedright}

\newcommand{\mVorname}{stupid company GmbH} 
\newcommand{\mNachname}{\& Co. KG} 
\newcommand{\mStrasse}{Somestreet. 1} 
\newcommand{\mStadt}{Somecity} 
\newcommand{\mPLZ}{22223} 
\setkomavar{date}{} 

\setkomavar{fromname}{\mVorname{}~\mNachname{}}
\setkomavar{fromaddress}{\mStrasse{}\\{}\mPLZ{}~\mStadt{}}

\setkomavar{frombank}{SomeBank\\IBAN:DE00 0000 0000 0000 0000 00\\BIC: AAAAAAAAAAA}
\newcaptionname{ngerman}{\banknames}{Bankverbindungen}% caption name for more than one bank
\newkomavar[\banknames]{frombanks}% caption for more than one bank
\newkomavar[\usekomavar*{frombank}]{secondfrombank}
\setkomavar{secondfrombank}{Someotherbank\\IBAN:DE00 0000 0000 0000 0000 00\\BIC: BBBBBBBBBBB}
\newkomavar[\usekomavar*{frombank}]{thirdfrombank}
\setkomavar{thirdfrombank}{Somethirdbank\\IBAN:DE00 0000 0000 0000 0000 00\\BIC: CCCCCCCCCCC}

\setkomavar{location}{\raggedright 
  Versandanschrift:\\
  \vfill
  Some Guy\\
  23423 Blablubbing\\
  Blabistan\\
  Telefon
} 

\setplength{locvpos}{4.8cm}
\setplength{locwidth}{7.5cm}
\setplength{firstfootvpos}{250mm}

\LoadLetterOption{visualize}% loads visualize.lco to visualize boxes
\showfields{address}% show the address box

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~von~\letterlastpage}%
}

\setkomavar{firstfoot}{%
  \usekomafont{pageheadfoot}{% <- changed: { added
    \parbox{\useplength{firstfootwidth}}{%
      \rule{\linewidth}{.4pt}\\
      \parbox[t]{0.31\linewidth}{%
        \begin{tabular}[t]{l}
          \multicolumn{1}{@{}l@{}}{\textbf{Geschäftsinformation:}}\\ 
          persönlich haftende Gesellschafterin:\\ 
          stupid company Verwaltungs-GmbH\\
          Amtsgericht Somecity, HBR 111111 \\
          Handelsregister: Somecity HRA222222 \\
          \begin{tabular}{@{}l@{\;}l@{}}USt-IdNr.:& DE 000000000 \\
          WEEE-Nr.: & DE 00000000 \end{tabular}\\
          Geschäftsführer: Some Guy \\
          Sitz Somecity 
        \end{tabular}
      }%
      \hfill
      \parbox[t]{0.31\linewidth}{%
        \begin{tabular}[t]{l@{}}
          \multicolumn{1}{@{}l@{}}{\textbf{\usekomavar*{frombanks}:}} \smallskip \\% <- frombanks
          \usekomavar{frombank} \smallskip \\
          \usekomavar{thirdfrombank}
        \end{tabular}%
      }%
      \hfill
      \parbox[t]{0.31\linewidth}{%
        \begin{tabular}[t]{l@{}}
          \multicolumn{1}{@{}l@{}}{} \smallskip \\ 
          \usekomavar{secondfrombank}
        \end{tabular}%
      }%
      \par\centering\pagemark\par% <- centered pagemark added
}}}% <- changed: { added

\setkomafont{pageheadfoot}{\scriptsize}

\usepackage{scrlayer-scrpage}
\DeclareNewLayer[
  foreground,
  textarea,
  voffset=\useplength{firstfootvpos},
  hoffset=\dimexpr.5\paperwidth-.5\useplength{firstfootwidth}\relax,
  width=\useplength{firstfootwidth},
  mode=picture,
  contents=\putUL{\raisebox{\dimexpr-\height}{\usekomavar{firstfoot}}}
]{likefirstpage.foot}

\AddLayersToPageStyle{scrheadings}{likefirstpage.foot}
\clearpairofpagestyles

\DeclareNewLayer[
  background,
  page,
  addvoffset=20pt+.3333em,
  addhoffset=47pt+.3333em,
  addwidth=-47pt-.6666em,
  addheight=-20pt-.6666em,
  mode=picture,
  contents={%
    \putUR{\raisebox{\dimexpr-\height}{\makebox[0pt][r]{\includegraphics[height=18mm]{example-image}\hspace{10pt}}}}%
    \putUL{\raisebox{\dimexpr-\height}{\includegraphics[height=15mm]{example-image}}}%
    \putLR{\makebox[0pt][r]{\includegraphics[height=13mm]{example-image}}}%
  }
]{logos}
\AddLayersToPageStyle{@everystyle@}{logos}

\begin{document} 
\begin{letter}{%
  Max Musterkunde\\
  Teststraße 2\\
  55555 Teststadt\\
  Schweiz\\
} 

  \setkomavar{subject}{BETREFF} 
  \opening{}

\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{xltabular}{\textwidth}{R X X R R R}
    
    Firstttttttt & Second & Third & Forth & Fifth & Lasttttttt \\ \hline 
    \endfirsthead

    Firstttttttt & Second & Third & Forth & Fifth & Lasttttttt \\ \hline 
    \endhead
    
    
    \hline
    \multicolumn{6}{l}{Bla}
    \endlastfoot
    
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    One & abcdef & ghjijklmn & 123.456778 & 5 & 6\\
    16  & abcdef & ghjijklmn & 123.456778 & 5 & 6 \\ *[\fill]
\end{xltabular}  
  
\end{letter} 
\end{document}

Best Answer

Use firstfoot=false and add the layer with the footer to @everystyle@:

\documentclass[
  fontsize=11pt, 
  parskip=half, 
  firsthead=off,
  firstfoot=off% <- added
]{scrlttr2}


%just for measure 
\usepackage{xcolor}
\usepackage[grid, gridunit=mm, gridcolor=blue!40, subgridcolor=blue!20]{eso-pic}

\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{xltabular}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%

\usepackage{blindtext}% only for dummy text

\renewcommand*\familydefault{\sfdefault}
\renewcommand*{\raggedsignature}{\raggedright}

\newcommand{\mVorname}{stupid company GmbH} 
\newcommand{\mNachname}{\& Co. KG} 
\newcommand{\mStrasse}{Somestreet. 1} 
\newcommand{\mStadt}{Somecity} 
\newcommand{\mPLZ}{22223} 
\setkomavar{date}{} 

\setkomavar{fromname}{\mVorname{}~\mNachname{}}
\setkomavar{fromaddress}{\mStrasse{}\\{}\mPLZ{}~\mStadt{}}

\setkomavar{frombank}{SomeBank\\IBAN:DE00 0000 0000 0000 0000 00\\BIC: AAAAAAAAAAA}
\newcaptionname{ngerman}{\banknames}{Bankverbindungen}
\newkomavar[\banknames]{frombanks}
\newkomavar[\usekomavar*{frombank}]{secondfrombank}
\setkomavar{secondfrombank}{Someotherbank\\IBAN:DE00 0000 0000 0000 0000 00\\BIC: BBBBBBBBBBB}
\newkomavar[\usekomavar*{frombank}]{thirdfrombank}
\setkomavar{thirdfrombank}{Somethirdbank\\IBAN:DE00 0000 0000 0000 0000 00\\BIC: CCCCCCCCCCC}

\setkomavar{location}{\raggedright 
  Versandanschrift:\\
  \vfill
  Some Guy\\
  23423 Blablubbing\\
  Blabistan\\
  Telefon
} 

\setplength{locvpos}{4.8cm}
\setplength{locwidth}{7.5cm}
\setplength{firstfootvpos}{250mm}

\LoadLetterOption{visualize}% loads visualize.lco to visualize boxes
\showfields{address}% show the address box

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~von~\letterlastpage}%
}

\setkomavar{firstfoot}{%
  \usekomafont{pageheadfoot}{% <- changed: { added
    \parbox{\useplength{firstfootwidth}}{%
      \rule{\linewidth}{.4pt}\\
      \parbox[t]{0.31\linewidth}{%
        \begin{tabular}[t]{l}
          \multicolumn{1}{@{}l@{}}{\textbf{Geschäftsinformation:}}\\ 
          persönlich haftende Gesellschafterin:\\ 
          stupid company Verwaltungs-GmbH\\
          Amtsgericht Somecity, HBR 111111 \\
          Handelsregister: Somecity HRA222222 \\
          \begin{tabular}{@{}l@{\;}l@{}}USt-IdNr.:& DE 000000000 \\
          WEEE-Nr.: & DE 00000000 \end{tabular}\\
          Geschäftsführer: Some Guy \\
          Sitz Somecity 
        \end{tabular}
      }%
      \hfill
      \parbox[t]{0.31\linewidth}{%
        \begin{tabular}[t]{l@{}}
          \multicolumn{1}{@{}l@{}}{\textbf{\usekomavar*{frombanks}:}} \smallskip \\
          \usekomavar{frombank} \smallskip \\
          \usekomavar{thirdfrombank}
        \end{tabular}%
      }%
      \hfill
      \parbox[t]{0.31\linewidth}{%
        \begin{tabular}[t]{l@{}}
          \multicolumn{1}{@{}l@{}}{} \smallskip \\ 
          \usekomavar{secondfrombank}
        \end{tabular}%
      }%
      \par\centering\pagemark\par
}}}

\setkomafont{pageheadfoot}{\scriptsize}

\usepackage{scrlayer-scrpage}
\clearpairofpagestyles
\DeclareNewLayer[
  foreground,
  textarea,
  voffset=\useplength{firstfootvpos},
  hoffset=\dimexpr.5\paperwidth-.5\useplength{firstfootwidth}\relax,
  width=\useplength{firstfootwidth},
  mode=picture,
  contents=\putUL{\raisebox{\dimexpr-\height}{\usekomavar{firstfoot}}}
]{likefirstpage.foot}

\DeclareNewLayer[
  background,
  page,
  addvoffset=20pt+.3333em,
  addhoffset=47pt+.3333em,
  addwidth=-47pt-.6666em,
  addheight=-20pt-.6666em,
  mode=picture,
  contents={%
    \putUR{\raisebox{\dimexpr-\height}{\makebox[0pt][r]{\includegraphics[height=18mm]{example-image}\hspace{10pt}}}}%
    \putUL{\raisebox{\dimexpr-\height}{\includegraphics[height=15mm]{example-image}}}%
    \putLR{\makebox[0pt][r]{\includegraphics[height=13mm]{example-image}}}%
  }
]{logos}
\AddLayersToPageStyle{@everystyle@}{logos,likefirstpage.foot}% <- add likefirstpage.foot to @everystyle@

%\AtBeginLetter{\flushbottom}% maybe?
\begin{document} 
\begin{letter}{%
  Max Musterkunde\\
  Teststraße 2\\
  55555 Teststadt\\
  Schweiz\\
}
\setkomavar{subject}{BETREFF} 
\opening{}
\blindtext[10]% <- dummy text
\end{letter}
\end{document}

Result: enter image description here

Result with \AtBeginLetter{\flushbottom}:

enter image description here