Extended Rule for the INVOIC Group
Now that you have entered the entire extended rule that will be processed for the INVOIC group, your extended rule should look like this:
integer i,j,ildlimit,stllimit;
i=count($STL[*]);
while i > 0 do
begin
delete($STL[i]);
i=i-1;
end
stllimit = 0;
ildlimit = count($ILD[1][*]);
i=1;
while i <= ildlimit do
begin
j=1;
while j <= stllimit do
begin
if $ILD[1][i].#CD12 = $STL[j].#CD12:2 then
begin
$STL[j].#LVLA = $STL[j].#LVLA + $ILD[1][i].#LEXC;
$STL[j].#NRIL = $STL[j].#NRIL + 1;
break;
end
j=j+1;
end
if j > stllimit then
begin
$STL[j].#SEQA:7 = j;
$STL[j].#VATP:2 = $ILD[1][i].#VATP;
$STL[j].#CD12:2 = $ILD[1][i].#CD12;
$STL[j].#LVLA = $ILD[1][i].#LEXC;
$STL[j].#NRIL = 1;
stllimit = stllimit + 1;
end
i=i+1;
end
#LVLT = #TVAT = 0;
j=1;
while j <= stllimit do
begin
$STL[j].#VATA = ($STL[j].#LVLA * $STL[j].#VATP:2) / 100.0;
$STL[j].#EVLA = $STL[j].#LVLA;
$STL[j].#ASDA = $STL[j].#LVLA;
$STL[j].#APSI = $STL[j].#LVLA + $STL[j].#VATA;
#LVLT = #LVLT + $STL[j].#LVLA;
#TVAT = #TVAT + $STL[j].#VATA;
j=j+1;
end
#NSTL = stllimit;
#EVLT = #LVLT;
#ASDT = #LVLT;
#TPSI = #LVLT + #TVAT;