Convert table linked report into a Command version - Howto?
How can I convert hundreds of reports from table linked into a Command version?
One way to do is to take the SQL syntax off the report, add a Command with that Syntax and manually replace the database fields by the Command fields.
I can not believe that is the right way to this. Is there no hidden (re-)mapping fields button or another undocumented feature?
If this is the way to do it... when will there be a one-button-click solution. The underlaying data keeps the same, could not be that hard to build..?
Without that basic functionality Crystal Reports is not option for us anymore.
Backgroud: We do have hundreds of reports that are created by an ODBC (RDO) database (SQL Anywhere database), created by linking the tables and select the fields we like to use in the report. This works fine at least as we used the RDC method in our application. Because we are moving to .NET we could not use RDC anymore and have to use the .NET methods. However the .NET SDK is very limited. The only way to add more complex WHERE statements is to use the Command functionality of Crystal Reports.
Hi Hans,
Let me explain, Command Objects are sent directly to the DB server as is. CR does not alter the SQL at all. As you know in SQL there are minor differences between the various servers and the SQL syntax can vary from DB to DB. Because of this CR could not build in the logic to handle the vast number of potential mappings, and not jsut SQL types but also PC databases.
To be able to map reports based on connections directly to the DB through a Command object the current versions of CR do not have the ability. Possibly the next version may have this feature though but we can't say for sure until it's released. Check our WEB site for new versions and there functionality.
Next question about moving off of the RDC to .NET, you are correct. CR no longer allows you to modify the SQL statement directly. The RDC was actually supposed to stop you also but it did work.
One possible solution is to use .NET and inProc RAS ( Report Application Server) and using record sets. Your app can get the SQL from the report, process the query and appending the info onto the WHERE clause as well as other filtering and then set the existing reports data source to the record set. As long as your data is less than 5000 rows then no performance issues, over 5K and you may start to see slow report processing. Depends on other info and report complexity etc.
If this is an option for you please post your question to the Crystal .NET development forum. Also, you will need to use 12.x.2000.x versions of the CR .NET assemblies and not use the basic version 10.5 or 10.2 that comes with .NET 2008 and 2005.
Thank you
Don
Similar Messages
-
How to Convert Oracle Apps Report into XML Publisher
Hi
How to Convert Oracle Apps Report into XML Publisher?
ThanksIn Brief :
Re: XML Publisher
In Details :
http://www.oracle.com/technology/products/xml-publisher/docs/XMLEBSRep.pdf -
Convert a web report into pdf and print (in BW 3.5)
Hello gurus,
i have few web reports ( created using WAD). i am looking for a possibility to convert a web report (viewed in a browser by a user) into pdf and print them and this should be done by pressing a button.
Is it possible in BW 3.5 version?.
could anyone please help me?
Any how to docs. would be really helpful.
thanks and regards
kumarHere it is
<HTML>
<!-- BW data source object tags -->
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="SET_DATA_PROVIDER"/>
<param name="NAME" value="DATAPROVIDER_1"/>
<param name="DATA_PROVIDER_ID" value=""/>
DATA_PROVIDER: DATAPROVIDER_1
</object>
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="SET_PROPERTIES"/>
<param name="TEMPLATE_ID" value="ZPD_ADHOC_PAGE"/>
<param name="MENU_BACK" value=""/>
<param name="MENU_BACK_TO_START" value=""/>
<param name="SUPPRESS_WARNINGS" value="X"/>
<param name="MENU_FILTER" value=""/>
<param name="MENU_FILTER_ON_AXIS" value=""/>
<param name="MENU_SELECT_FILTER" value=""/>
<param name="MENU_FILTER_ON_AXIS_CHART" value=""/>
<param name="MENU_FILTER_CHART" value=""/>
<param name="MENU_FILTER_DRILL_DOWN" value=""/>
<param name="MENU_DRILL_UP_GIS" value=""/>
<param name="MENU_DRILL_DOWN" value=""/>
<param name="MENU_EXCHANGE_OBJECTS" value=""/>
<param name="MENU_REMOVE_DRILL_DOWN" value=""/>
<param name="MENU_SWITCH_AXIS" value=""/>
<param name="MENU_HIERARCHY_NODE_DRILL" value=""/>
<param name="MENU_HIERARCHY_DRILL" value=""/>
<param name="MENU_HIERARCHY_STATE" value=""/>
<param name="MENU_SORT" value=""/>
<param name="MENU_CALCULATE_RESULT" value=""/>
<param name="MENU_CALCULATE_VALUE" value=""/>
<param name="MENU_CUMULATE_VALUE" value=""/>
<param name="MENU_DISPLAY_DOCUMENTS" value=""/>
<param name="MENU_DOCUMENT_CREATE" value=""/>
<param name="MENU_DISPLAY_DOCUMENT_PROP" value=""/>
<param name="MENU_DISPLAY_DOCUMENT_SELEC" value=""/>
<param name="MENU_RRI" value=""/>
<param name="MENU_EXPORT_TO_CSV" value=""/>
<param name="MENU_EXPORT_TO_XLS" value=""/>
<param name="MENU_BOOKMARK" value=""/>
<param name="MENU_CHARACTERISTIC_PROPERTIES" value=""/>
<param name="MENU_VALUE_PROPERTIES" value=""/>
<param name="MENU_QUERY_PROPERTIES" value=""/>
<param name="MENU_VARIABLE_SCREEN" value=""/>
<param name="MENU_CURRENCY_CONVERSION" value=""/>
<param name="MENU_ENHANCED" value=""/>
TEMPLATE PROPERTIES
</object>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft DHTML Editing Control">
<TITLE>SAP BW Reporting Print Page</TITLE>
<link href="/sap/bw/Mime/BEx/StyleSheets/BWReports.css" type="text/css" rel="stylesheet"/>
<script type"text/javascript">
<!--
// Global Variable Definition
var dataTable = "";
var pageRowCnt = 0;
var prevPage = 0;
var ColumnCnt = 0;
var PrintDateTimeStamp = new Date();
var rptWidth = 0;
//DATE STAMP FUNCTION
function datestamp(){
var Today = new Date()
document.write(Today);
function getReportTitle() {
var myQueryString = window.location.search;
var startOfRptTitle = myQueryString.indexOf("QTITLE=");
if (startOfRptTitle != -1)
var endOfRptTitle = myQueryString.indexOf("&", startOfRptTitle + 7);
var myTitle = unescape(myQueryString.substring(startOfRptTitle + 7, endOfRptTitle));
var rpttitle = "";
for(i=0;i<myTitle.length;i++){
if (myTitle.substring(i,i+1) == "+"){
rpttitle = rpttitle + ' ';
else
rpttitle = rpttitle + (myTitle.substring(i,i+1));
else
var rpttitle = "Unspecified Query Title";
return rpttitle;
queryTitle=getReportTitle();
function getHeading2() {
var myQueryString = window.location.search;
var startOfHdr2 = myQueryString.indexOf("HDR2=");
if (startOfHdr2 != -1)
var endOfHdr2 = myQueryString.indexOf("&", startOfHdr2 + 5);
var myHdr2 = unescape(myQueryString.substring(startOfHdr2 + 5, endOfHdr2));
var hdr2 = "";
for(i=0;i<myHdr2.length;i++){
if (myHdr2.substring(i,i+1) == "+"){
hdr2 = hdr2 + ' ';
else
hdr2 = hdr2 + (myHdr2.substring(i,i+1));
else
var hdr2 = "#";
return hdr2;
header2=getHeading2();
function getHeading3() {
var myQueryString = window.location.search;
var startOfHdr3 = myQueryString.indexOf("HDR3=");
if (startOfHdr3 != -1)
var endOfHdr3 = myQueryString.indexOf("&", startOfHdr3 + 5);
var myHdr3 = unescape(myQueryString.substring(startOfHdr3 + 5, endOfHdr3));
var hdr3 = "";
for(i=0;i<myHdr3.length;i++){
if (myHdr3.substring(i,i+1) == "+"){
hdr3 = hdr3 + ' ';
else
hdr3 = hdr3 + (myHdr3.substring(i,i+1));
else
var hdr3 = "#";
return hdr3;
header3=getHeading3();
function getAsOfDate() {
var myQueryString = window.location.search;
var startOfRelevance = myQueryString.indexOf("ASOFDATE=");
if (startOfRelevance != -1)
var endOfRelevance = myQueryString.indexOf("&", startOfRelevance + 9);
var myRelevance = unescape(myQueryString.substring(startOfRelevance + 9, endOfRelevance));
var asof = "";
for(i=0;i<myRelevance.length;i++){
if (myRelevance.substring(i,i+1) == "+"){
asof = asof + ' ';
else
asof = asof + (myRelevance.substring(i,i+1));
else
var asof = "";
return asof;
asofDateTime=getAsOfDate();
function getPaperSize() {
var myQueryString = window.location.search;
var startOfPaperSize = myQueryString.indexOf("PSIZE=");
if (startOfPaperSize != -1)
var endOfPaperSize = myQueryString.indexOf("&", startOfPaperSize + 6);
var myPaperSize = unescape(myQueryString.substring(startOfPaperSize + 6, endOfPaperSize));
var psize = "";
for(i=0;i<myPaperSize.length;i++){
psize = psize + (myPaperSize.substring(i,i+1));
else
var psize = "0"; // default if none supplied (normal 8x11)
return psize;
varPaperSize=getPaperSize();
var PaperSizeParamString='&PSIZE=' + escape(varPaperSize);
switch(varPaperSize){
case "0": // Landscape - Letter
var WidthMax = 910;
var RowsPerPageMax = 38;
break;
case "1": // Landscape - Legal
var WidthMax = 1190;
var RowsPerPageMax = 38;
break;
case "2": // Portrait - Letter
var WidthMax = 660;
var RowsPerPageMax = 54;
break;
function getTotalColumns() {
var myHTML = dataTable.rows[1].innerHTML;
var TotalTDs = 0;
var nextTD = 0;
for (i=0;i<myHTML.length;i++) {
nextTD = myHTML.indexOf("<TD", i);
if (nextTD != -1) {
i=nextTD;
TotalTDs++;
else break;
return TotalTDs;
function GetPageHeadings() {
var headingHTM = "";
var leftspancnt = 0;
var rightspancnt = 0;
var headingspancnt = 2;
if (header2 != '#') headingspancnt = headingspancnt + 1; // adjust for extra headings
if (header3 != '#') headingspancnt = headingspancnt + 1;
if (currPage > 1) {
headingHTM += '<TR style="page-break-before:always; display:none; visibility:hidden; "><TD Colspan="' + ColumnCnt + '"></td></tr>';
else {
headingHTM += '<TABLE id="THEREPORT" name="MYREPORT" cellSpacing=0 cellPadding=0 width=' + WidthMax + ' border=0>';
if (ColumnCnt == 1) {
headingHTM += '<TR><TD vAlign=top align=left nowrap><font Size=3><STRONG>';
headingHTM += queryTitle;
headingHTM += '</STRONG></font></TD><TD Rowspan="' + headingspancnt + '" align="right" vAlign="top"><input type="image" border="0" name="SAPLogo" src="/sap/bw/Mime/Customer/Images/images.jpg" alt="SAP Logo"></TD></TR>';
if (header2 != '#') headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + header2 + '</FONT></TD></TR>';
if (header3 != '#') headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + header3 + '</FONT></TD></TR>';
headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + asofDateTime + '</FONT></TD></TR>';
headingHTM += '<TR><TD vAlign="top" align="left" Colspan="2"><hr size=2 color=black align=left></TD></TR>';
headingHTM += '<tr>' + dataTable.rows[0].innerHTML + '<TD> </TD></TR>';
else {
leftspancnt = Math.floor(ColumnCnt/2);
rightspancnt = ColumnCnt - leftspancnt;
headingHTM += '<TR><TD vAlign=top align=left nowrap Colspan="' + leftspancnt + '"><font Size=3><STRONG>';
headingHTM += queryTitle;
headingHTM += '</STRONG></font></TD><TD Rowspan="' + headingspancnt + '" Colspan="' + rightspancnt + '" align="right" vAlign="top"><input type="image" border="0" name="SAPLogo" src="/sap/bw/Mime/Customer/Images/images.jpg" alt="SAP Logo"></TD></TR>';
if (header2 != '#') headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + header2 + '</FONT></TD></TR>';
if (header3 != '#') headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + header3 + '</FONT></TD></TR>';
headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + asofDateTime + '</FONT></TD></TR>';
headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + ColumnCnt + '"><hr size=2 color=black align=left></TD></TR>';
headingHTM += '<tr>' + dataTable.rows[0].innerHTML + '</TR>';
return headingHTM;
function GetPageFooting() {
var footingHTM = "";
var leftspancnt = 0;
var rightspancnt = 0;
if (ColumnCnt == 1) {
footingHTM += '<TR><TD vAlign="top" align="left" Colspan="2"><hr size=2 color=black align=left></TD></TR>';
footingHTM += '<TR><TD vAlign="top" align="left" nowrap><FONT Size=1>Prepared: ';
footingHTM += PrintDateTimeStamp;
footingHTM += '</FONT></TD><TD vAlign="top" align="right"><FONT Size=1>';
footingHTM = footingHTM + 'Page ' + currPage.toString() + ' of ' + varPageTotal.toString();
footingHTM += '</FONT></TD></TR>';
else {
leftspancnt = Math.floor(ColumnCnt/2);
rightspancnt = ColumnCnt - leftspancnt;
footingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + ColumnCnt + '"><hr size=2 color=black align=left></TD></TR>';
footingHTM += '<TR><TD vAlign="top" align="left" nowrap Colspan="' + leftspancnt + '"><FONT Size=1>Prepared: ';
footingHTM += PrintDateTimeStamp;
footingHTM += '</FONT></TD><TD vAlign="top" align="right" Colspan="' + rightspancnt + '"><FONT Size=1>';
footingHTM = footingHTM + 'Page ' + currPage.toString() + ' of ' + varPageTotal.toString();
footingHTM += '</FONT></TD></TR>';
return footingHTM;
function GetReportFooting() {
var footingHTM = "";
footingHTM += '</TABLE>';
return footingHTM;
function formatToPrint() {
var PrintHTM = "";
PrintHTM += GetPageHeadings();
if (ColumnCnt != 1) {
for (var i=1;i<dataTable.rows.length;i++) {
(currPage > prevPage)?prevPage=currPage:""; //increment current page count
if ((pageRowCnt + 1)>RowsPerPageMax){
PrintHTM += GetPageFooting();
pageRowCnt = 0;
currPage++;
if (prevPage != currPage) {
PrintHTM += GetPageHeadings();
else
PrintHTM += '<tr>' + dataTable.rows<i>.innerHTML + '</tr>';
pageRowCnt++;
PrintHTM += GetPageFooting();
PrintHTM += GetReportFooting();
return PrintHTM;
function DisplayPrintNotice() {
// Paper Size "0" is Letter with Landscape
// Paper Size "1" is Legal with Landscape
// Paper Size "2" is Letter with Portrait
if (varPaperSize == "0") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Printer Orientation to Landscape n 2) select Print menu, then select the Print button.";}
if (varPaperSize == "1") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Paper Size to Legal n 2) Adjust the Printer Orientation to Landscape n 3) select Print menu, then select the Print button.";}
//if (varPaperSize == "2") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Paper Size to Letter n 2) Adjust the Paper Source (if necessary) n 3) Adjust the Orientation to Portrait (default) n 4) Select the Okay button nn Again select the File Menu, select Print, then select the Print button.";}
alert(varMessage);
//window.print()
/* SAP BW Reporting Stylesheet Revisions */
function writeStyleRevisions() {
function writeDynamicFontRevisions(dynafont) {
//Writes the Dynamic Stylesheet
-->
</script>
</HEAD>
<BODY>
<TABLE id="tp1" cellSpacing=0 cellPadding=0 width=660 border=0 >
<TR>
<TD vAlign=top align=left nowrap>
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="GET_ITEM"/>
<param name="NAME" value="MYQUERY"/>
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
<param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
<param name="GENERATE_CAPTION" value=""/>
<param name="GENERATE_LINKS" value=""/>
<param name="WIDTH" value="660"/>
<param name="BORDER_STYLE" value="NO_BORDER"/>
<param name="SUPPRESS_REPETITION_TEXTS" value=""/>
<param name="BLOCK_SIZE" value="3500"/>
<param name="SHOW_PAGING_AREA_TOP" value="X"/>
<param name="TARGET_DATA_PROVIDER_1" value="DATAPROVIDER_1"/>
ITEM: MYQUERY
</object>
</TD>
</TR>
</TABLE>
<SCRIPT type="text/javascript">
<!--
var tbls = document.body.getElementsByTagName("TABLE");
for (var i=0;i<tbls.length;i++) {
if (tbls<i>.name == "MYQUERY"){
var dataTable = tbls<i>;
break;
document.title = queryTitle;
rptWidth = dataTable.clientWidth;
rptHeight = dataTable.clientHeight;
originalRptWidth = rptWidth;
originalRptHeight = rptHeight;
originalRowHeight = Math.floor(rptHeight/(dataTable.rows.length+1));
rptPageHeightMax = 580; //660 less basic header and footer of 80
if (header2 != '#') rptPageHeightMax = rptPageHeightMax - 20; // adjust for extra headings
if (header3 != '#') rptPageHeightMax = rptPageHeightMax - 20;
if (dataTable.rows.length == 1) {
ColumnCnt = 1; //No Applicable Data found message
else {
ColumnCnt = getTotalColumns();
startingFont = 65;
varFontSize = startingFont;
if (rptWidth > WidthMax) {
while ((rptWidth > WidthMax) && (varFontSize > 15))
writeDynamicFontRevisions(varFontSize);
rptWidth = dataTable.clientWidth;
rptHeight = dataTable.clientHeight;
varFontSize = varFontSize - 5;
// calculate max rows per page
rowHeight = Math.floor(rptHeight/(dataTable.rows.length+1)) + 1; // add 1 for 2 row heading, add 1 for padding
RowsPerPageMax = Math.floor(rptPageHeightMax/rowHeight) - 2; // adjust for column headings
if (dataTable.rows.length == 1) {
varPageTotal = 1; //No Applicable Data found message
else {
totalRows = dataTable.rows.length-1; // total rows less headings
varPageTotal = Math.floor(totalRows/RowsPerPageMax); // compute total pages
if (totalRows != (varPageTotal * RowsPerPageMax)) {
varPageTotal = varPageTotal + 1; // if not a complete last page, add 1 for partial page
currPage = 1;
document.write(formatToPrint());
document.all.tp1.style.display = "none";
document.all.tp1.style.visibility = "hidden";
// DisplayPrintNotice();
-->
</SCRIPT>
<STYLE>
input.ie55 { display: none }
</STYLE>
<!-- special style sheet for printing -->
<STYLE media=print>
.noprint { display: none }
</STYLE>
<script defer>
function window.onload() {
if (!factory.object) {
return
else {
// factory.printing.header = "SAP"
// factory.printing.footer = "SAP"
if ( varPaperSize == "2" ) { factory.printing.portrait = true; }
else { factory.printing.portrait = false; }
factory.printing.Print(true);
// enable control buttons
/* var templateSupported = factory.printing.IsTemplateSupported();
var controls = idControls.all.tags("input");
for ( i = 0; i < controls.length; i++ ) {
controls<i>.disabled = false;
if ( templateSupported && controls<i>.className == "ie55" )
controls<i>.style.display = "inline";
</script>
<P>
<div id=idControls class="noprint" style="VISIBILITY: hidden">
<input disabled type="button" value="Print this page"
onclick="factory.printing.Print(true)">
<input disabled type="button" value="Page Setup..."
onclick="factory.printing.PageSetup()">
<input class=ie55 disabled type="button" value="Print Preview..."
onclick="factory.printing.Preview()">
<input class=ie55 disabled type="button" value="Landscape"
onclick="factory.printing.portrait=false">
<input class=ie55 disabled type="button" value="Portrait"
onclick="factory.printing.portrait=true">
</div>
</BODY>
</HTML> -
To convert a crystal report into word(*.doc) format
Dear members,
I have designed and generated a report using crystal as tool,but
i want to convert this report into Microsoft word format(*.doc).
Can anybody please help me in this regard?
Thanks and regards,
Venkatesh.RHi
Simple way is to you use Cristal Reports Designer: you can use CR Report convertion function.
File/Export/Export Report... choose Word Document (rtf) modificable what can be opened with Word and saved how Word Document (.doc).
Other way:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Dim CrxReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
CrxReport.ExportToDisk(CrystalDecisions.[Shared].ExportFormatType.RichText, _
"c:\open_me_with_word.rtf")
HTH
Regards
Sierdna S.
Edited by: Sierdna S on Sep 24, 2008 12:49 PM -
Want to convert Sap standard report into alvgrid
HI PLEASE HELP THIS IS CODE BELOW OF SAP STANDARD REPORT CODE WANT TO CONVERT INTO ALVGRID
LEAS HELP
REPORT RFKOPR00
MESSAGE-ID FR
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: B0SG,
LFA1, "Daten auf Mandantenebene
LFB1, "Daten auf Buchungskreisebene
LFB5, "Mahndaten
LFC1, "Verkehrszahlen
LFC3, "Sonderumsätze
BSIK, "Offend Posten
BKPF,
BSEG,
BSEGA.
TABLES:
BHDGD,
T001,
T001S,
*T001S,
T074T,
T074U,
TBSL,
TBSLT,
TCURX,
ADRS,
RFPDO,
RFPDO1,
RFSDO,
FAEDE.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: CFAKT(3) TYPE P,
CHECKSALDO(8) TYPE P,
CHECKAGOBL(8) TYPE P,
WAERS LIKE T001-WAERS,
WFLAG(1) TYPE P VALUE '0',
WAERS2 LIKE T001-WAERS,
WFLAG2(1) TYPE P VALUE '0',
PH-LINE(132) TYPE C.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: CURRY LIKE BSIK-GJAHR.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
*ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
ZVSKONTO(8) TYPE P, "Zahlungsvolumen bei Zahlung mit Skonto
ZVNETTO(8) TYPE P, "Zahlungsvolumen bei Nettozahlung
ZVVERZUG(8) TYPE P, "Verzugstage
ZVMALVZ(8) TYPE P, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
ZVTYP(1) TYPE C, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
DATA: KSALDO(6) TYPE P. "Saldovortrag
BEABZUG(6) TYPE P, "Berechtigte Abzüge
UBABZUG(6) TYPE P, "Unberechtigte Abzüge
JAHRAUG(6) TYPE P, "Kumulierter Jahresausgleich
KUMZINS(6) TYPE P. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: INDEX(2) TYPE P VALUE 0.
Hilfsfelder
DATA: HF(1) TYPE C.
DATA: TXT_1(78) TYPE C, "Mahnbereich
TXT_2(78) TYPE C, "Mahnart
TXT_3(78) TYPE C, "Mahnempfänger
TXT_4(78) TYPE C, "Mahndatum
TXT_5(78) TYPE C, "Mahnstufe
TXT_6(78) TYPE C, "Mahnsperre
TXT_7(78) TYPE C, "Mahnverfahren
TXT_8(78) TYPE C. "Sachbearbeiter
DATA: BEGIN OF XMAHN OCCURS 10.
INCLUDE STRUCTURE LFB5.
DATA: END OF XMAHN.
Hilfsfelder
DATA: CHAR1(1) TYPE C.
DATA: FLAG1(1) TYPE C.
DATA: INTENS(1) TYPE C.
DATA: FLAG2(1) TYPE C.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: DNULL(8) TYPE C VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: DECKBLATT TYPE C VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF H,
STICHTAG(8),
OFFSET(2) TYPE P,
OFFSE1(2) TYPE P,
SOLL LIKE LFC1-UM01S,
HABEN LIKE LFC1-UM01H,
SALDO LIKE LFC1-UMSAV,
SHBKZ LIKE LFC3-SHBKZ, "Sonderhauptbuchkennzeichen
SALDV LIKE LFC3-SALDV, "Sonderhauptbuch-Saldovortrag
SHBLS LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-Saldo
SHBSL LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-SOLL
SHBHB LIKE LFC3-HABNL, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE lfC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE lfC1-GBU01, "Geschaeftsber. Umsatz
TEXT(15),
UMLOW LIKE BSIK-UMSKZ, "Umsatzkennzeichen
UMHIG LIKE BSIK-UMSKZ, "Umsatzkennzeichen
END OF H.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C,
SALDO TYPE P, "Saldo
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
END OF C.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C2 OCCURS 0,
BUKRS LIKE LFC1-BUKRS,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C3,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C3.
DATA: SHBETRAG LIKE BSEGA-DMSHB. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF RTAB OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RTAB.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
*ATA: BEGIN OF RBUS OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUS.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF RBUK OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUK.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF RSUM OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesperrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RSUM.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: BMONAT FOR RFPDO-DOPRBMON.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: RP01(2) TYPE P, " 0
RP02(2) TYPE P, " 20
RP03(2) TYPE P, " 40
RP04(2) TYPE P, " 80
RP05(2) TYPE P, " 100
RP06(3) TYPE P, " 1
RP07(3) TYPE P, " 21
RP08(3) TYPE P, " 41
RP09(3) TYPE P, " 81
RP10(3) TYPE P. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: RC01(4) TYPE C, " 0
RC02(4) TYPE C, " 20
RC03(4) TYPE C, " 40
RC04(4) TYPE C, " 80
RC05(4) TYPE C, " 100
RC06(4) TYPE C, " 1
RC07(4) TYPE C, " 21
RC08(4) TYPE C, " 41
RC09(4) TYPE C, " 81
RC10(4) TYPE C. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: HUMKZ1 LIKE LFC3-SHBKZ,
HUMKZ2 LIKE LFC3-SHBKZ,
HUMKZ3 LIKE LFC3-SHBKZ,
HUMKZ4 LIKE LFC3-SHBKZ,
HUMKZ5 LIKE LFC3-SHBKZ,
HUMKZ6 LIKE LFC3-SHBKZ,
HUMKZ7 LIKE LFC3-SHBKZ,
HUMKZ8 LIKE LFC3-SHBKZ,
HUMKZ9 LIKE LFC3-SHBKZ,
HUMKZ10 LIKE LFC3-SHBKZ.
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: GBZAEHL(3) TYPE P.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: TOP-FLAG(1) TYPE C.
*---- SEL-STAMM 'J' = Stammsatz wird ausgewertet *
*---- 'N' = Stammsatz wird nicht ausgewertet *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF SEL,
STAMM(1) TYPE C,
POSTN(1) TYPE C,
POST2(1) TYPE C,
END OF SEL.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: SATZART(1) TYPE C.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: RART(1) TYPE C.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: TAGE(4) TYPE P,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
NTAGE(4) TYPE P,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
STAGE(4) TYPE P,
*---- ATAGE = Alter der Belege -
ATAGE(4) TYPE P,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
UTAGE(4) TYPE P.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: RASTERUU(1) TYPE C.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF GB,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
END OF GB.
*---- Variable Ueberschriften -
DATA: BEGIN OF VARUEB1,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB1.
DATA: BEGIN OF VARUEB2,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB2.
DATA: VARUEB3(132),
VARUEB4(132),
VARTXT1(40),
VARTXT(40) TYPE C.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: SHBBEZ LIKE T074T-LTEXT.
DATA: ASUMS TYPE P. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF BEZSHB OCCURS 10,
SHBKZ LIKE T074T-SHBKZ,
LTEXT LIKE T074T-LTEXT,
END OF BEZSHB.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF BLKEY,
BUKRS LIKE BSIK-BUKRS,
BELNR LIKE BSIK-BELNR,
GJAHR LIKE BSIK-GJAHR,
BUZEI LIKE BSIK-BUZEI,
END OF BLKEY.
DATA: BEGIN OF RTAGE,
NTAGE LIKE NTAGE,
STAGE LIKE STAGE,
ATAGE LIKE ATAGE,
UTAGE LIKE UTAGE,
END OF RTAGE.
DATA: BEGIN OF HBSIK OCCURS 10.
INCLUDE STRUCTURE BSIK.
INCLUDE STRUCTURE BSEGA.
INCLUDE STRUCTURE RTAGE.
DATA: END OF HBSIK.
DATA: BEGIN OF REFBL OCCURS 10.
INCLUDE STRUCTURE BLKEY.
INCLUDE STRUCTURE RTAGE.
DATA: END OF REFBL.
DATA: BEGIN OF HLFB1 OCCURS 10.
INCLUDE STRUCTURE LFB1.
DATA: END OF HLFB1.
DATA: BEGIN OF HT001 OCCURS 10.
INCLUDE STRUCTURE T001.
DATA: END OF HT001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF AOBLIGO OCCURS 12,
OBART TYPE C, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
SHBKZ LIKE T074T-SHBKZ, "SHB-Kennzeichen
LTEXT LIKE T074T-LTEXT, "Bezeichnung
OBLIG TYPE P, "Obligobetrag
END OF AOBLIGO.
*---- Declarationen für Accessibility /ALV GRID -
data: ACC_MODE type c.
Data: UEBTEXT(22) type c.
Data: UEKTEXT(15) type c.
Data: TITTEXT(100) type c.
Data: DATTEXT(10) type c.
DATA: BEGIN OF RTAB_ALV OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIk-BUKRS,
lifnr LIKE LFA1-lifnr,
busab like lfb1-busab,
SORTL LIKE lfA1-SORTL,
LAND1 LIKE lfA1-LAND1,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
hwaer like rf140-hwaer,
RAART like RF140-RAART, "Rasterart
shkzg like bsik-shkzg,
XGUTS TYPE C, "Gutschrift
KUMUM LIKE RF140-KUMUMHW, "Umsatz
ANZAH like rf140-anzbthw, "Anzahlungen
OPSUM like RF140-gsaldd, "Offene Posten Summe
RAST1 like RF140-rast1, "Rasterfeld 1
RAST2 like RF140-rast2, "Rasterfeld 2
RAST3 like RF140-rast3, "Rasterfeld 3
RAST4 like RF140-rast4, "Rasterfeld 4
RAST5 like RF140-rast5, "Rasterfeld 5
RAST6 like RF140-rast6, "Rasterfeld 6
END OF RTAB_ALV.
*"General Data
TYPE-POOLS: SLIS.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: GS_VARIANT LIKE DISVARIANT,
G_SAVE.
Global structure of list
fieldcatalog
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
HEADER,
STAMMDATEN,
OP-RASTER,
EINZELPOSTEN.
INSERT
LFB1-BUKRS " Buchungskreis
lfB1-BUSAB " Sachbearbeiter
LFA1-LIFNR " Kontonummer
SATZART " Satzart
RTAB-SORTK " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
GB " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
RASTERUU " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
TAGE " Rastertage fuer Detailposten
BSIK-UMSKZ " Umsatzkennzeichen
BSIK-BLART " Belegart
BSIK-ZUONR " Zuordnungsnummer
BSIK-BELNR " Belegnummer
BSIK-BUZEI " Belegzeile
INTO HEADER.
INSERT
Addressdaten
ADRS-LINE0 " 1. Zeile Adressenaufbereitung
ADRS-LINE1 " 2. " "
ADRS-LINE2 " 3. " "
ADRS-LINE3 " 4. " "
ADRS-LINE4 " 5. " "
ADRS-LINE5 " 6. " "
ADRS-LINE6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
C-KUMUM " Umsatz
C-BABZG " Berechtigt. Abzuege
C-UABZG " Unberechtigt. Abzuege
C-KZINS " Zinszahlungen
C-KUMAG " Kum. Jahresausgleich
Obligos
C-SALDO " Saldo ohne SHB-Vorgänge
C-UMKZ1 "SHBKZ 1
C-SUMS1 "Sonderumsatz 1
C-UMKZ2 "SHBKZ 2
C-SUMS2 "Sonderumsatz 2
C-UMKZ3 "SHBKZ 3
C-SUMS3 "Sonderumsatz 3
C-UMKZ4 "SHBKZ 4
C-SUMS4 "Sonderumsatz 4
C-UMKZ5 "SHBKZ 5
C-SUMS5 "Sonderumsatz 5
C-UMKZ6 "SHBKZ 6
C-SUMS6 "Sonderumsatz 6
C-UMKZ7 "SHBKZ 7
C-SUMS7 "Sonderumsatz 7
C-UMKZ8 "SHBKZ 8
C-SUMS8 "Sonderumsatz 8
C-UMKZ9 "SHBKZ 9
C-SUMS9 "Sonderumsatz 9
C-UMKZ10 "SHBKZ 10
C-SUMS10 "Sonderumsatz 10
C-SONOB " Sonst. Obligen
Limits
C-AGOBLI " Absolutes Gesamtobligo
Zahlungdaten
LFB1-ZTERM "Zahlungsbedingung
LFB1-ZAHLS "Sperrschlüssel für Zahlung
LFB1-ZWELS "Zahlwege
LFB1-XVERR "Zahlungsverrechnung
LFB1-WEBTR "Wechsellimit
LFB1-BUSAB " Sachbearbeiter
lfa1-sortl
lfa1-land1
INTO STAMMDATEN.
INSERT
RTAB-RAART "Rasterart
RTAB-SPERR "gesperrte Posten
RTAB-KUMUM "Umsatz
RTAB-ANZAH "Anzahlungen
RTAB-OPSUM "Offene Posten Summe
RTAB-RAST1 "Rasterfeld 1
RTAB-RAST2 "Rasterfeld 2
RTAB-RAST3 "Rasterfeld 3
RTAB-RAST4 "Rasterfeld 4
RTAB-RAST5 "Rasterfeld 5
RTAB-RAST6 "Rasterfeld 6
INTO OP-RASTER.
INSERT
BSIK-BUDAT " Buchungsdatum
BSIK-BLDAT " Belegdatum
BSIK-CPUDT " CPU-Datum
BKPF-USNAM " User-ID
BSIK-WAERS " Wahrungsschluessel
BSEGA-NETDT " Nettofaelligkeitsdatum
FAEDE-NETDT " Nettofaelligkeitsdatum
BSIK-ZFBDT " Zahlungsfristen-Basisdatum
BSIK-BSCHL " Buchungsschluessel
BSIK-ZLSCH " Zahlungsschluessel
BSIK-MANST " Mahnstufe
SHBETRAG " Hauswaehrungsbetrag
BSEGA-DMSHB " Hauswaehrungsbetrag
BSEGA-WRSHB " Fremwaehrungsbetrag
INTO EINZELPOSTEN.
BEGIN_OF_BLOCK 1.
*ELECT-OPTIONS:
GESBER FOR BSIK-GSBER.
PARAMETERS:
MONAT LIKE RFPDO-DOPRBMON.
SELECT-OPTIONS:
KKSALDO2 FOR RFSDO-KOPRSAL2, "Saldovortrag
AGOBLIG2 FOR RFSDO-KOPRAGO2. "Absolutes Obligo
RGOBLIGO FOR RFSDO-DOPRRGOB. "Relatives Obligo
SELECT-OPTIONS:
LAND FOR LFA1-LAND1,
KONTENGR FOR LFA1-KTOKK,
SACHBEAR FOR LFB1-BUSAB,
AKONTS FOR LFB1-AKONT,
AKONTP FOR BSIK-HKONT.
SELECT-OPTIONS:
BUDAT FOR BSIK-BUDAT,
BLDAT FOR BSIK-BLDAT,
NETDT FOR BSEGA-NETDT.
PARAMETERS: N_BELEGE LIKE RFPDO-BPETNBEL
DEFAULT 'X', "Normale Belege.
STAT_BLG LIKE RFPDO-BPETSBEL. "Statistische Belege
END_OF_BLOCK 1.
*ELECT-OPTIONS:
BERABZU1 FOR LFC1-BABZG,
UNBABZU1 FOR LFC1-UABZG,
ZINSE1 FOR LFC1-KZINS,
JHRAUSG1 FOR LFC1-KUMAG.
BERABZUG FOR BEABZUG NO-DISPLAY, "Berechtigter Abzug
UNBABZUG FOR UBABZUG NO-DISPLAY, "Unberechtigter Abzug
ZINSEN FOR KUMZINS NO-DISPLAY, "Kumulierter Zins
JHRAUSGL FOR JAHRAUG NO-DISPLAY. "Kumulierter Jahresausgl.
BEGIN_OF_BLOCK 2.
PARAMETERS:
SORTART LIKE RFPDO1-KOPRSOAR DEFAULT '1', "Doku
VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1', "Doku
RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0', "Doku
KONZVERS LIKE RFPDO-DOPOKONZ, "Konzernversion
XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
KAUSGABE like rfpdo3-ALLGKAOR.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-030.
PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(01) TEXT-028.
PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(01) TEXT-028.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(28) TEXT-031.
SELECTION-SCREEN POSITION POS_HIGH.
PARAMETERS RBLDAT LIKE RFPDO2-KORD10BD.
SELECTION-SCREEN COMMENT 61(12) TEXT-032.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 37(01) TEXT-028.
PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-026.
PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
SELECTION-SCREEN COMMENT 35(02) TEXT-027.
PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
SELECTION-SCREEN COMMENT 41(02) TEXT-027.
PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
SELECTION-SCREEN COMMENT 47(02) TEXT-027.
PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
SELECTION-SCREEN COMMENT 53(02) TEXT-027.
PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-029.
PARAMETERS: FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN COMMENT 35(1) TEXT-028.
PARAMETERS: STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PZUOR LIKE RFPDO2-DOPRZUOR.
PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
PARAMETERS:
TITLE LIKE RFPDO1-ALLGLINE,
LISTSEP LIKE RFPDO-ALLGLSEP,
MIKFICHE LIKE RFPDO-ALLGMIKF.
PARAMETERS:
P_LVAR LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
END_OF_BLOCK 2.
AT SELECTION-SCREEN OUTPUT.
if acc_mode is initial.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = '508'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
AT SELECTION-SCREEN ON AKONTS.
Konvertierung der Kontonummer
LOOP AT AKONTS.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-LOW AKONTS-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-HIGH AKONTS-HIGH.
MODIFY AKONTS.
ENDLOOP.
AT SELECTION-SCREEN ON AKONTP.
Konvertierung der Kontonummer
LOOP AT AKONTP.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-LOW AKONTP-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-HIGH AKONTP-HIGH.
MODIFY AKONTP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
Gs_VARIANT-REPORT = SY-REPID.
Gs_VARIANT-VARIANT = P_LVAR.
PERFORM F4_FOR_S_LVAR USING Gs_VARIANT.
P_LVAR = Gs_VARIANT-VARIANT.
AT SELECTION-SCREEN.
IF NOT RASTBIS5 IS INITIAL.
IF RASTBIS5 GT RASTBIS4
AND RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS4 IS INITIAL.
IF RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS3 IS INITIAL.
IF RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS2 IS INITIAL.
IF RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
EHi Laxman,
I have checked the program and found out following:
the field "acc_mode" which gets populated by FM "GET_ACCESSIBILITY_MODE".
If this field is initial, then normal list gets displayed and
If this field has value, then ALV grid gets displayed.
regards,
Dharitree -
How to convert Bex Analyser report into normal MS Excel sheet
Hi,
I created query in Bex Analyser. Now, I want to send this copy as a normal MS Excel document through mail.
When I tried save as and send a copy, It is showing the filter,table, information buttons and appearing same as bex report. I would like to see normal excel sheet when it opens.
Is there any way except copy & paste.
Any help would be appreciated.
Thanks,
Aparna.Hi Chandu,
I followed same procedure as you said. I created one node for SMTP in SAP connect:Administration(SCOT).
I gave destination as RFC destination -> BWDCLNT -> Internet -> enter mail address...etc as per system requirements.
Once I executed, It is showing "No message sent". Did I miss any steps to follow...
Can you give me step by step procedure to follow.
In our Bex tools, Only Broadcaster was disabled. If I configure mail server, may be it enable?
Your help would be appreciated.
Thanks,
Aparna. -
Convert table row data into column - 8i
hello all,
i have a table with the following data
Machine Time
MAC1 - 1
MAC2 - 2
MAC3 - 3
MAC4 - 4
MAC5 - 5
and want to have a query as only for the mac1, mac2 and mac3
MAC1 MAC2 MAC3
1 2 3
how to acheived this...i am on 8i thanks in adv.
KKSELECT SUM(DECODE(MACHINE,'MAC1',TIME)) "MAC1",
SUM(DECODE(MACHINE,'MAC2',TIME)) "MAC2" ,
SUM(DECODE(MACHINE,'MAC3',TIME)) "MAC3" FROM TABLENAME -
How to convert PLD Report into Crystal Report
Hello Experts,
I want to convert my PLD Report into Crystal Report, but i am not able to find the solution ,
so how can i do this and what are the steps have to taken.
Kindly give me the solution .
Regards
RahulHi Rahul........
SAP has given a tool where you can convert your PLDs into Crystal Reports.......
Please check the below link to download tool......
http://www.sdn.sap.com/irj/scn/downloads?rid=/library/uuid/108305a7-1555-2d10-8289-9a178d441c71
Regards,
Rahul -
Can we convert a T-Code into WebService.
Dear SOA Gurus,
Can you please tell me if there is a way to convert a SAP T-Code into a Web-Service. Also, can you please share your thoughts on how I can convert an ABAP report into a WebService and call it from Java stack.
Thanks!
Surya.It depends on your requirement. Olivier is right though - there's no direct realtionship or conversion tool. However, if you are just trying to obtain the data that a particular custom transaction or report provides without rewriting the logic, you can wrap the report or transaction call in a function module and hand-off the data through ABAP memory to the function module interface. Then, convert the function module or group to a web service. I do this most often with monster reports that generate PDF's. Instead of actually rendering the PDF on the desktop as the report would do from SAP, I push the binary data to an external application which opens the PDF in a browser window.
-
Hi Experts,
I have written a classical report with write statements and when i am downloading in excel the format is mismatching and now i want to convert into PDF format.
How to convert into PDF format from Classical report ?
YusufHi yusuf,
please find the below report,,
please make two include programs before executing it,
there codes are pasted below,
INCLUDE zimpr_data_declaration.
INCLUDE zimpr_performs_wrap.
REPORT zimpr_word_wrap NO STANDARD PAGE HEADING LINE-SIZE 115..
INCLUDE for DATA DECLARATION *
INCLUDE zimpr_data_declaration.
INCLUDE for all performs. *
INCLUDE zimpr_performs_wrap.
TOP-OF-PAGE--
TOP-OF-PAGE.
PERFORM f_top_page. "TOP OF THE REPORT PAGE,I.E. HEADER.
START-OF-SELECTION.
SET PF-STATUS 'SEL_SCREEN'. "PF-STATUS OF THE SELECTION SCREEN.
PERFORM f_data_retrieval. "PERFORM FOR ALL SELECT STATEMENTS.
PERFORM f_report_display. "REPORT DISPLAY,WRITE STATEMENTS.
--Define the actions to be performed for pf-status-----
AT USER-COMMAND.
wf_ok_code = sy-ucomm.
wf_save_ok = wf_ok_code.
CLEAR wf_ok_code.
CASE wf_save_ok.
WHEN 'PDF'. "WHEN PDF ICON IS CLICKED,REPORT WILL CONVERT INTO PDF.
loc_repid = sy-repid. "PROGRAM NAME
--THIS FM SETS THE PARAMETERS FOR LAYOUT OF PDF OUTPUT--
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
layout = loc_paart "LANDSCAPE LAYOUT
line_size = loc_linsz "CHARACTER WIDTH OF REPORT
no_dialog = 'X'
user = sy-uname "USERNAME
IMPORTING
out_parameters = loc_print_parms "OUTPUT PARAMETERS WILL BE COLLECTED HERE.
valid = loc_valid
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
--FOR GENERATING THE SPOOL NUMBER--
NEW-PAGE PRINT ON NO DIALOG PARAMETERS loc_print_parms. " This allocates the spool no
"to the screen without the dialog screen.
PERFORM f_top_page.
PERFORM f_report_display.
NEW-PAGE PRINT OFF. "This marks the end of the screen for which the spool no was generated.
wf_id = sy-spono. " This assign the spool no of the screen to the variable.
--PERFORM FOR GETTING THE PDF OUTPUT--
PERFORM f_pdf_display.
--PERFORM FOR DOWLOADING FILE TO A LOCAL DISK--
PERFORM f_download_local.
WHEN 'BACK'.
LEAVE PROGRAM.
ENDCASE.
include data declaration----
*& Include ZIMPR_DATA_DECLARATION
TYPE-POOLS : shlp.
DATA : wf_ordert TYPE aufk-auart. "ORDER TYPE
DATA : wf_order TYPE aufk-aufnr. "ORDER NUMBER
DATA : wf_bdate TYPE afko-gstrp. "BASIC START DATE
DATA : wf_status(4) TYPE c ."rihea-i_astatin. "STATUS
DATA : wf_objnr TYPE jest-objnr VALUE 'OR%'. "Object number
DATA : wf_aufnr TYPE aufk-aufnr.
DATA : wf_name TYPE thead-tdname. "NAME TO PASS IN FM READ_TEXT
DATA : wf_date1(12) TYPE c. "DATE
DATA : wf_i1(3) TYPE n,wc_i1(3) TYPE n VALUE '1'. "COUNTERS FOR REPORT DISPLAY
DATA : wf_i2(3) TYPE n,wc_i2(3) TYPE n VALUE '1'.
DATA : wf_kopf TYPE tdid VALUE 'KOPF',wf_aufk TYPE tdobject VALUE 'AUFK'.
DATA : wf_save_ok TYPE sy-ucomm ,wf_ok_code TYPE sy-ucomm.
DATA: wf_id TYPE tsp01-rqident , " For storing Spool request number
wf_bytes TYPE i . " For storing the bytes of data to be converted to PDF.
DATA : wf_langu(2) TYPE c VALUE 'EN'.
DATA: wf_pripar TYPE pri_params, " Structure for Passing Print Parameters
wf_rcpar TYPE arc_params. " ImageLink structure
DATA : wf_statu TYPE dfies-fieldname VALUE 'STATUS',
wf_field TYPE help_info-dynprofld VALUE 'S_STATUS'.
&--SELECTION SCREEN--
SELECTION-SCREEN BEGIN OF BLOCK b_1 WITH FRAME TITLE text-000.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS: s_ordert FOR wf_ordert . "ORDER TYPE
SELECT-OPTIONS: s_order FOR wf_order OBLIGATORY. "ORDER NUMBER
SELECT-OPTIONS: s_bdate FOR wf_bdate. "BASIC START DATE
SELECT-OPTIONS: s_status FOR wf_status matchcode object zei_sys . "SYSTEM STATUS
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK b_1.
*--INTERNAL TABLES--
TYPES : BEGIN OF ty_aufk,
aufnr TYPE aufk-aufnr, "OREDR NUMBER
auart TYPE aufk-auart, "ORDER TYPE
objnr TYPE aufk-objnr, "OBJECT NUMBER
ktext type aufk-ktext, "SHORT TEXT
gstrp TYPE afko-gstrp, "BASIC START DATE
END OF ty_aufk.
TYPES : BEGIN OF ty_tj02t,
objnr TYPE aufk-objnr, "OBJECT NUMBER
txt04 TYPE tj02t-txt04, "STATUS
istat TYPE tj02t-istat, "Object status
spras TYPE tj02t-spras, "LANGUAGE KEY
END OF ty_tj02t.
TYPES : BEGIN OF ty_temp,
objnr TYPE aufk-objnr,
status(300) TYPE c,
END OF ty_temp.
TYPES : BEGIN OF ty_wrap,
line(54) TYPE c, "LONG TEXT
END OF ty_wrap.
TYPES : BEGIN OF ty_wrap2,
line(25) TYPE c, "STATUS
END OF ty_wrap2.
TYPES : BEGIN OF ty_f4,
txt04 TYPE tj02t-txt04,
txt30 TYPE tj02t-txt30,
END OF ty_f4.
types : begin of ty_sta,
istat type tj02t-istat,
objnr type jest-objnr,
end of ty_sta.
data : int_sta type table of ty_sta with header line.
DATA : int_f4 TYPE TABLE OF ty_f4 WITH HEADER LINE.
DATA: int_pdf TYPE TABLE OF tline WITH HEADER LINE. "TABLE FOR PDF CONVERSION
DATA: int_wrap TYPE TABLE OF ty_wrap WITH HEADER LINE. "TABLE FOR LONGTEXT
DATA: int_wrap2 TYPE TABLE OF ty_wrap2 WITH HEADER LINE. "TABLE FOR STATUS
DATA: int_temp TYPE TABLE OF ty_temp WITH HEADER LINE. "Table for concatenation of system status.
DATA: int_aufk TYPE TABLE OF ty_aufk WITH HEADER LINE.
DATA: int_tj02t TYPE TABLE OF ty_tj02t WITH HEADER LINE.
DATA: int_tline TYPE STANDARD TABLE OF tline WITH HEADER LINE. "TABLE FOR READ_TEXT.
DATA : int_fld TYPE TABLE OF dfies ,wa_fld LIKE LINE OF int_fld. " Field Type for FM for F4 help
DATA :int_return TYPE TABLE OF ddshretval WITH HEADER LINE .
DATA:
loc_print_parms LIKE pri_params, "PRINT PARAMETERS
loc_valid(1) TYPE c,
loc_file type SDOK_CHTRD,
loc_bytecount TYPE i, "NUMBER OF BYTES TRANSFERRED
loc_length TYPE i, "LINE-LENGTH
loc_rqident LIKE tsp01-rqident, "SPOOL NUMBER
loc_rq2name(12) TYPE c.
DATA: loc_filename LIKE rlgrap-filename. "FILENAME
DATA:loc_repid LIKE sy-repid, " Report to execute
loc_linsz LIKE sy-linsz VALUE 115, " Line size
loc_paart LIKE sy-paart VALUE 'X_65_132'. " Paper Format
Include ZIMPR_PERFORMS_WRAP----
*& Include ZIMPR_PERFORMS_WRAP
*& Form f_top_page
top-of the page
--> p1 text
<-- p2 text
FORM f_top_page .
*--HEADER--
FORMAT COLOR 1 .
WRITE : text-010.
FORMAT COLOR 1 OFF.
WRITE : / text-011,sy-datum NO-GAP.
WRITE : / text-012,sy-uzeit NO-GAP,90 text-013,101 sy-uname.
ULINE .
FORMAT COLOR 1 INTENSIFIED OFF .
WRITE : 1 sy-vline, "HEADINGS
2 text-014 NO-GAP,
7 sy-vline,
8 text-015 NO-GAP,
20 sy-vline,
21 text-016 NO-GAP,
76 sy-vline,
77 text-017 NO-GAP,
88 sy-vline,
89 text-018 NO-GAP,
115 sy-vline.
WRITE : /1 sy-vline,
2 text-019 NO-GAP,7 sy-vline,
20 sy-vline,76 sy-vline,77 text-020 NO-GAP,88 sy-vline,115 sy-vline.
ULINE.
FORMAT COLOR 1 OFF.
ENDFORM. " f_top_page
*& Form f_data_retrieval
select statements
--> p1 text
<-- p2 text
FORM f_data_retrieval .
SELECTING ORDER TYPE,ORDER NO.,OBJECT NO. AND BASIC START DATE
SELECT p~aufnr
p~auart
p~objnr
p~ktext
r~gstrp
FROM ( aufk AS p INNER JOIN afko AS r ON raufnr = paufnr )
INTO TABLE int_aufk
WHERE p~aufnr IN s_order AND
p~auart IN s_ordert AND
r~gstrp IN s_bdate AND
p~objnr LIKE wf_objnr.
IF sy-subrc <> 0.
MESSAGE s101(zipm). "no values found for selection criteria.
STOP.
ENDIF.
SORT int_aufk BY aufnr.
DELETE ADJACENT DUPLICATES FROM int_aufk.
SELECT q~istat
p~objnr
FROM ( jest AS p INNER JOIN tj02t AS q ON pstat = qistat )
INTO TABLE int_sta
FOR ALL ENTRIES IN int_aufk
WHERE p~objnr = int_aufk-objnr
AND q~txt04 IN s_status and
q~spras = wf_langu and
p~inact = ''.
IF sy-subrc <> 0.
MESSAGE s101(zipm). "no values found for selection criteria.
STOP.
ENDIF.
SORT int_sta BY objnr.
DELETE ADJACENT DUPLICATES FROM int_sta.
*--SELECTING OBJECT NO.,STATUS AND LANGUAGE--
IF int_sta[] IS NOT INITIAL.
SELECT p~objnr
q~txt04
q~istat
q~spras
FROM ( jest AS p INNER JOIN tj02t AS q ON pstat = qistat )
INTO TABLE int_tj02t
FOR ALL ENTRIES IN int_sta
WHERE p~inact = '' AND
p~objnr = int_sta-objnr AND
q~spras = wf_langu AND
q~txt04 IN s_status AND
p~objnr LIKE wf_objnr.
IF sy-subrc <> 0.
MESSAGE s101(zipm). "no values found for selection criteria.
STOP.
ENDIF.
ENDIF.
ENDFORM. " f_data_retrieval
*& Form f_report_display
report display
--> p1 text
<-- p2 text
FORM f_report_display .
LOOP AT int_tj02t. "concatenating the status into a internal table
AT NEW objnr.
CLEAR int_temp-status.
ENDAT.
CONCATENATE int_temp-status int_tj02t-txt04 INTO int_temp-status SEPARATED BY space.
AT END OF objnr.
int_temp-objnr = int_tj02t-objnr. "key field.
APPEND int_temp.
CLEAR int_temp.
ENDAT.
CLEAR int_tj02t.
ENDLOOP.
LOOP AT int_aufk.
CONCATENATE sy-mandt int_aufk-aufnr INTO wf_name . "concatenating client number and order number
*--THIS FM CAPTURES THE LONG TEXT AND STORES IT IN INTERNAL TABLE--
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = wf_kopf "TEXT ID
language = sy-langu "LANGUAGE
name = wf_name "TEXT NAME
object = wf_aufk "TEXT OBJECT
TABLES
lines = int_tline "LINES OF LONG TEXT.
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
int_tline-tdline = int_aufk-ktext.
APPEND int_tline.
CLEAR :int_tline.
ENDIF.
LOOP AT int_tline.
*--THIS FM WRAPS THE LONG TEXT INTO 54 CHARACTERS EACH--
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = int_tline-tdline "LONG TEXT LINE
outputlen = 54 "OUTPUT LENGTH
TABLES
out_lines = int_wrap "INTERNAL TABLE
EXCEPTIONS
outputlen_too_large = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR :int_tline.
ENDIF.
ENDLOOP.
*-- THIS FM WRAPS THE STATUS INTO 25 CHARACTERS EACH--
READ TABLE int_temp WITH KEY objnr = int_aufk-objnr.
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = int_temp-status
outputlen = 25
TABLES
out_lines = int_wrap2
EXCEPTIONS
outputlen_too_large = 1
OTHERS = 2.
IF sy-subrc <> 0.
CONTINUE.
ENDIF.
IF NOT int_wrap2[] IS INITIAL.
ULINE AT (115).
ENDIF.
DESCRIBE TABLE int_wrap LINES wf_i2. "COUNTING THE NO. OF LINES FOR TABLE INT_WRAP
DESCRIBE TABLE int_wrap2 LINES wf_i1. "COUNTING THE NO. OF LINES FOR TABLE INT_WRAP2
WHILE ( wc_i1 LE wf_i1 OR wc_i2 LE wf_i2 ).
IF ( wc_i2 LE wf_i2 ).
READ TABLE int_wrap INDEX wc_i2 . "READING THE INTERNAL TABLE INT_WRAP WITH INDEX
wc_i2 = wc_i2 + 1.
ENDIF.
IF ( wc_i1 LE wf_i1 ).
READ TABLE int_wrap2 INDEX wc_i1 . "READING THE INTERNAL TABLE INT_WRAP2 WITH INDEX
wc_i1 = wc_i1 + 1.
ENDIF.
*--THIS FM CONVERTS THE DATE FROM SYSTEM FORMAT TO OUTPUT FORMAT--
CALL FUNCTION 'CONVERSION_EXIT_SDATE_OUTPUT'
EXPORTING
input = int_aufk-gstrp
IMPORTING
output = wf_date1.
IF NOT int_wrap2[] IS INITIAL .
*--REPORT DISPLAY--
WRITE : /1 sy-vline, 2 int_aufk-auart COLOR = 4 INTENSIFIED OFF NO-GAP ,
7 sy-vline ,8 int_aufk-aufnr COLOR = 4 INTENSIFIED OFF NO-GAP,
20 sy-vline,21 int_wrap-line,
76 sy-vline ,77 wf_date1 ,
88 sy-vline ,89 int_wrap2-line,
115 sy-vline.
*--CLEARING THE VARIABLES--
wf_date1 = ''.
CLEAR: int_aufk,int_temp,int_wrap2-line,int_wrap-line.
ENDIF.
ENDWHILE.
wc_i1 = 1.
wc_i2 = 1.
CLEAR :int_wrap,int_wrap2.
REFRESH : int_wrap,int_wrap2,int_tline.
ENDLOOP.
ULINE AT (115).
ENDFORM. " f_report_display
*& Form F_PDF_DISPLAY
pdf conversion
--> p1 text
<-- p2 text
FORM f_pdf_display .
*--THIS FM CONVERTS THE SPOOL REQUEST INTO PDF REPORT--
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = wf_id "SPOOL NUMBER
no_dialog = space
pdf_destination = 'X'
IMPORTING
pdf_bytecount = loc_bytecount "NUMBER OF BYTES TRANSFERRED
TABLES
pdf = int_pdf "TABLE FOR PDF REPORT
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
ENDFORM. " F_PDF_DISPLAY
*& Form f_download_local
download to local system
--> p1 text
<-- p2 text
FORM f_download_local .
---------------------THIS FM DOWNLOADS THE PDF REPORT INTO LOCAL MACHINE
data loc_ret TYPE iwerrormsg.
CALL FUNCTION 'IW_C_GET_SAPWORKDIR'
IMPORTING
SAPWORKDIR = loc_file
ERROR_MSG = loc_ret
loc_filename = loc_file.
if loc_ret is initial.
concatenate loc_filename '\work order header long text_ ' sy-timlo '.pdf' into loc_filename.
endif.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
bin_filesize = loc_bytecount "NO. OF BYTES
filename = loc_filename "DEFAULT FILE NAME
filetype = 'BIN'
IMPORTING
act_filename = loc_filename
TABLES
data_tab = int_pdf.
ENDFORM. " f_download_local
if you have any doubts,,
please revert
Regards,
Talwinder -
SUBMIT and return the value of that report into internal table
Dear all,
I have a requirement. I want to submit a report and return the value of that report into my internal table.
How to do this.
Pl. guide.Hi Vidhya,
Below links from SAP help will resolve your issue.
http://help.sap.com/saphelp_nw04/Helpdata/EN/fc/eb3bde358411d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3bd1358411d1829f0000e829fbfe/content.htm
Edited by: Harsh Bhalla on Jan 2, 2010 11:54 AM -
Converting a binary string into a JPEG image in Crystal Reports 2008
Hi Gang
Iu2019m having problems converting a binary string into an image in Crystal Reports 2008
I have JPEG images stored in ECC. ECC stores the data in binary format.
Iu2019m using the ECC function module SKWF_PHIO_CONTENT_ACCESS_GET to retrieve the data. This function module has an export table, FILE_CONTENT_BINARY, which returns several lines of data. Each line contains a maximum of 1,024 characters.
When I drop the T_ FILE_CONTENT_BINARY.LINE field into my Crystal Report detail section, I wind up with a report that displays all the lines in FILE_CONTENT_BINARY table. (in my case, 19 lines are displayed.)
I created a formula to collect all the data into a single string.
whileprintingrecords;
stringvar data:= data & {SKWF_PHIO_CONTENT_ACCESS_GET.T_FILE_CONTENT_BINARY.LINE}
I added the formula to the detail section and itu2019s doing a great job collecting the data.
I then inserted a picture object in the report footer, opened the format editor, navigated to the u201Cpictureu201D tab, and inserted a formula for the u201Cgraphics locationu201D.
whileprintingrecords;
stringvar data:=data;
data
My clever idea turned out to be a disappointment . . . . my picture object is blank.
Does anyone have a solution for converting a binary string into a JPEG image?Save the JPEG in a format CR supports. Refer to the help file for the file types.
-
How to convert Oracle reports into excel?
How can we convert Oracle reports into excel.
i know there was a thread on this topic which i am not able to find.
give the link / help.I found Std Oracle Report output to Excel Sheet has some suggestions. Not being a Reports person anymore I am not in a position to vouch for them.
How did I find this thread? By not using the forum search tool but using Google instead.
Cheers, APC -
Form on a table with report using DB Link
Hey Guys
How do i create a "Form on a table with report"?? using a database link. Under the "Table/View name" category when i provide the table name with the database link (like EMP@test), it compalins and says table or view does not exist and it only allows me to select from local tables. When i run "select 1 from emp@test" in sql commands window, it does return records so database link is working..
Any suggestions??yes, I know i can do that, but when i tried it, its not displaying the records that are in the table, so how can i delete an existing record. Its doesnt allow me to browse through the records. Atleast, in the other way, it creates an edit button on the left and clicking it will take you to a form when you can edit it, add/delete.....this is all really simply, only issue is how to incorporate database links in this.
-
Want to convert Sap standard report s_alr_87012085 into alvgrid
i Want to convert Sap standard report s_alr_87012085 into alvgrid please help me.
REPORT RFKOPR00
MESSAGE-ID FR
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: B0SG,
LFA1, "Daten auf Mandantenebene
LFB1, "Daten auf Buchungskreisebene
LFB5, "Mahndaten
LFC1, "Verkehrszahlen
LFC3, "Sonderumsätze
BSIK, "Offend Posten
BKPF,
BSEG,
BSEGA.
TABLES:
BHDGD,
T001,
T001S,
*T001S,
T074T,
T074U,
TBSL,
TBSLT,
TCURX,
ADRS,
RFPDO,
RFPDO1,
RFSDO,
FAEDE.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: CFAKT(3) TYPE P,
CHECKSALDO(8) TYPE P,
CHECKAGOBL(8) TYPE P,
WAERS LIKE T001-WAERS,
WFLAG(1) TYPE P VALUE '0',
WAERS2 LIKE T001-WAERS,
WFLAG2(1) TYPE P VALUE '0',
PH-LINE(132) TYPE C.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: CURRY LIKE BSIK-GJAHR.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
*ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
ZVSKONTO(8) TYPE P, "Zahlungsvolumen bei Zahlung mit Skonto
ZVNETTO(8) TYPE P, "Zahlungsvolumen bei Nettozahlung
ZVVERZUG(8) TYPE P, "Verzugstage
ZVMALVZ(8) TYPE P, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
ZVTYP(1) TYPE C, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
DATA: KSALDO(6) TYPE P. "Saldovortrag
BEABZUG(6) TYPE P, "Berechtigte Abzüge
UBABZUG(6) TYPE P, "Unberechtigte Abzüge
JAHRAUG(6) TYPE P, "Kumulierter Jahresausgleich
KUMZINS(6) TYPE P. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: INDEX(2) TYPE P VALUE 0.
Hilfsfelder
DATA: HF(1) TYPE C.
DATA: TXT_1(78) TYPE C, "Mahnbereich
TXT_2(78) TYPE C, "Mahnart
TXT_3(78) TYPE C, "Mahnempfänger
TXT_4(78) TYPE C, "Mahndatum
TXT_5(78) TYPE C, "Mahnstufe
TXT_6(78) TYPE C, "Mahnsperre
TXT_7(78) TYPE C, "Mahnverfahren
TXT_8(78) TYPE C. "Sachbearbeiter
DATA: BEGIN OF XMAHN OCCURS 10.
INCLUDE STRUCTURE LFB5.
DATA: END OF XMAHN.
Hilfsfelder
DATA: CHAR1(1) TYPE C.
DATA: FLAG1(1) TYPE C.
DATA: INTENS(1) TYPE C.
DATA: FLAG2(1) TYPE C.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: DNULL(8) TYPE C VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: DECKBLATT TYPE C VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF H,
STICHTAG(8),
OFFSET(2) TYPE P,
OFFSE1(2) TYPE P,
SOLL LIKE LFC1-UM01S,
HABEN LIKE LFC1-UM01H,
SALDO LIKE LFC1-UMSAV,
SHBKZ LIKE LFC3-SHBKZ, "Sonderhauptbuchkennzeichen
SALDV LIKE LFC3-SALDV, "Sonderhauptbuch-Saldovortrag
SHBLS LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-Saldo
SHBSL LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-SOLL
SHBHB LIKE LFC3-HABNL, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE lfC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE lfC1-GBU01, "Geschaeftsber. Umsatz
TEXT(15),
UMLOW LIKE BSIK-UMSKZ, "Umsatzkennzeichen
UMHIG LIKE BSIK-UMSKZ, "Umsatzkennzeichen
END OF H.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C,
SALDO TYPE P, "Saldo
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
END OF C.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C2 OCCURS 0,
BUKRS LIKE LFC1-BUKRS,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C3,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C3.
DATA: SHBETRAG LIKE BSEGA-DMSHB. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF RTAB OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RTAB.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
*ATA: BEGIN OF RBUS OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUS.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF RBUK OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUK.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF RSUM OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesperrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RSUM.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: BMONAT FOR RFPDO-DOPRBMON.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: RP01(2) TYPE P, " 0
RP02(2) TYPE P, " 20
RP03(2) TYPE P, " 40
RP04(2) TYPE P, " 80
RP05(2) TYPE P, " 100
RP06(3) TYPE P, " 1
RP07(3) TYPE P, " 21
RP08(3) TYPE P, " 41
RP09(3) TYPE P, " 81
RP10(3) TYPE P. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: RC01(4) TYPE C, " 0
RC02(4) TYPE C, " 20
RC03(4) TYPE C, " 40
RC04(4) TYPE C, " 80
RC05(4) TYPE C, " 100
RC06(4) TYPE C, " 1
RC07(4) TYPE C, " 21
RC08(4) TYPE C, " 41
RC09(4) TYPE C, " 81
RC10(4) TYPE C. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: HUMKZ1 LIKE LFC3-SHBKZ,
HUMKZ2 LIKE LFC3-SHBKZ,
HUMKZ3 LIKE LFC3-SHBKZ,
HUMKZ4 LIKE LFC3-SHBKZ,
HUMKZ5 LIKE LFC3-SHBKZ,
HUMKZ6 LIKE LFC3-SHBKZ,
HUMKZ7 LIKE LFC3-SHBKZ,
HUMKZ8 LIKE LFC3-SHBKZ,
HUMKZ9 LIKE LFC3-SHBKZ,
HUMKZ10 LIKE LFC3-SHBKZ.
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: GBZAEHL(3) TYPE P.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: TOP-FLAG(1) TYPE C.
*---- SEL-STAMM 'J' = Stammsatz wird ausgewertet *
*---- 'N' = Stammsatz wird nicht ausgewertet *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF SEL,
STAMM(1) TYPE C,
POSTN(1) TYPE C,
POST2(1) TYPE C,
END OF SEL.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: SATZART(1) TYPE C.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: RART(1) TYPE C.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: TAGE(4) TYPE P,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
NTAGE(4) TYPE P,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
STAGE(4) TYPE P,
*---- ATAGE = Alter der Belege -
ATAGE(4) TYPE P,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
UTAGE(4) TYPE P.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: RASTERUU(1) TYPE C.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF GB,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
END OF GB.
*---- Variable Ueberschriften -
DATA: BEGIN OF VARUEB1,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB1.
DATA: BEGIN OF VARUEB2,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB2.
DATA: VARUEB3(132),
VARUEB4(132),
VARTXT1(40),
VARTXT(40) TYPE C.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: SHBBEZ LIKE T074T-LTEXT.
DATA: ASUMS TYPE P. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF BEZSHB OCCURS 10,
SHBKZ LIKE T074T-SHBKZ,
LTEXT LIKE T074T-LTEXT,
END OF BEZSHB.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF BLKEY,
BUKRS LIKE BSIK-BUKRS,
BELNR LIKE BSIK-BELNR,
GJAHR LIKE BSIK-GJAHR,
BUZEI LIKE BSIK-BUZEI,
END OF BLKEY.
DATA: BEGIN OF RTAGE,
NTAGE LIKE NTAGE,
STAGE LIKE STAGE,
ATAGE LIKE ATAGE,
UTAGE LIKE UTAGE,
END OF RTAGE.
DATA: BEGIN OF HBSIK OCCURS 10.
INCLUDE STRUCTURE BSIK.
INCLUDE STRUCTURE BSEGA.
INCLUDE STRUCTURE RTAGE.
DATA: END OF HBSIK.
DATA: BEGIN OF REFBL OCCURS 10.
INCLUDE STRUCTURE BLKEY.
INCLUDE STRUCTURE RTAGE.
DATA: END OF REFBL.
DATA: BEGIN OF HLFB1 OCCURS 10.
INCLUDE STRUCTURE LFB1.
DATA: END OF HLFB1.
DATA: BEGIN OF HT001 OCCURS 10.
INCLUDE STRUCTURE T001.
DATA: END OF HT001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF AOBLIGO OCCURS 12,
OBART TYPE C, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
SHBKZ LIKE T074T-SHBKZ, "SHB-Kennzeichen
LTEXT LIKE T074T-LTEXT, "Bezeichnung
OBLIG TYPE P, "Obligobetrag
END OF AOBLIGO.
*---- Declarationen für Accessibility /ALV GRID -
data: ACC_MODE type c.
Data: UEBTEXT(22) type c.
Data: UEKTEXT(15) type c.
Data: TITTEXT(100) type c.
Data: DATTEXT(10) type c.
DATA: BEGIN OF RTAB_ALV OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIk-BUKRS,
lifnr LIKE LFA1-lifnr,
busab like lfb1-busab,
SORTL LIKE lfA1-SORTL,
LAND1 LIKE lfA1-LAND1,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
hwaer like rf140-hwaer,
RAART like RF140-RAART, "Rasterart
shkzg like bsik-shkzg,
XGUTS TYPE C, "Gutschrift
KUMUM LIKE RF140-KUMUMHW, "Umsatz
ANZAH like rf140-anzbthw, "Anzahlungen
OPSUM like RF140-gsaldd, "Offene Posten Summe
RAST1 like RF140-rast1, "Rasterfeld 1
RAST2 like RF140-rast2, "Rasterfeld 2
RAST3 like RF140-rast3, "Rasterfeld 3
RAST4 like RF140-rast4, "Rasterfeld 4
RAST5 like RF140-rast5, "Rasterfeld 5
RAST6 like RF140-rast6, "Rasterfeld 6
END OF RTAB_ALV.
*"General Data
TYPE-POOLS: SLIS.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: GS_VARIANT LIKE DISVARIANT,
G_SAVE.
Global structure of list
fieldcatalog
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
HEADER,
STAMMDATEN,
OP-RASTER,
EINZELPOSTEN.
INSERT
LFB1-BUKRS " Buchungskreis
lfB1-BUSAB " Sachbearbeiter
LFA1-LIFNR " Kontonummer
SATZART " Satzart
RTAB-SORTK " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
GB " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
RASTERUU " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
TAGE " Rastertage fuer Detailposten
BSIK-UMSKZ " Umsatzkennzeichen
BSIK-BLART " Belegart
BSIK-ZUONR " Zuordnungsnummer
BSIK-BELNR " Belegnummer
BSIK-BUZEI " Belegzeile
INTO HEADER.
INSERT
Addressdaten
ADRS-LINE0 " 1. Zeile Adressenaufbereitung
ADRS-LINE1 " 2. " "
ADRS-LINE2 " 3. " "
ADRS-LINE3 " 4. " "
ADRS-LINE4 " 5. " "
ADRS-LINE5 " 6. " "
ADRS-LINE6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
C-KUMUM " Umsatz
C-BABZG " Berechtigt. Abzuege
C-UABZG " Unberechtigt. Abzuege
C-KZINS " Zinszahlungen
C-KUMAG " Kum. Jahresausgleich
Obligos
C-SALDO " Saldo ohne SHB-Vorgänge
C-UMKZ1 "SHBKZ 1
C-SUMS1 "Sonderumsatz 1
C-UMKZ2 "SHBKZ 2
C-SUMS2 "Sonderumsatz 2
C-UMKZ3 "SHBKZ 3
C-SUMS3 "Sonderumsatz 3
C-UMKZ4 "SHBKZ 4
C-SUMS4 "Sonderumsatz 4
C-UMKZ5 "SHBKZ 5
C-SUMS5 "Sonderumsatz 5
C-UMKZ6 "SHBKZ 6
C-SUMS6 "Sonderumsatz 6
C-UMKZ7 "SHBKZ 7
C-SUMS7 "Sonderumsatz 7
C-UMKZ8 "SHBKZ 8
C-SUMS8 "Sonderumsatz 8
C-UMKZ9 "SHBKZ 9
C-SUMS9 "Sonderumsatz 9
C-UMKZ10 "SHBKZ 10
C-SUMS10 "Sonderumsatz 10
C-SONOB " Sonst. Obligen
Limits
C-AGOBLI " Absolutes Gesamtobligo
Zahlungdaten
LFB1-ZTERM "Zahlungsbedingung
LFB1-ZAHLS "Sperrschlüssel für Zahlung
LFB1-ZWELS "Zahlwege
LFB1-XVERR "Zahlungsverrechnung
LFB1-WEBTR "Wechsellimit
LFB1-BUSAB " Sachbearbeiter
lfa1-sortl
lfa1-land1
INTO STAMMDATEN.
INSERT
RTAB-RAART "Rasterart
RTAB-SPERR "gesperrte Posten
RTAB-KUMUM "Umsatz
RTAB-ANZAH "Anzahlungen
RTAB-OPSUM "Offene Posten Summe
RTAB-RAST1 "Rasterfeld 1
RTAB-RAST2 "Rasterfeld 2
RTAB-RAST3 "Rasterfeld 3
RTAB-RAST4 "Rasterfeld 4
RTAB-RAST5 "Rasterfeld 5
RTAB-RAST6 "Rasterfeld 6
INTO OP-RASTER.
INSERT
BSIK-BUDAT " Buchungsdatum
BSIK-BLDAT " Belegdatum
BSIK-CPUDT " CPU-Datum
BKPF-USNAM " User-ID
BSIK-WAERS " Wahrungsschluessel
BSEGA-NETDT " Nettofaelligkeitsdatum
FAEDE-NETDT " Nettofaelligkeitsdatum
BSIK-ZFBDT " Zahlungsfristen-Basisdatum
BSIK-BSCHL " Buchungsschluessel
BSIK-ZLSCH " Zahlungsschluessel
BSIK-MANST " Mahnstufe
SHBETRAG " Hauswaehrungsbetrag
BSEGA-DMSHB " Hauswaehrungsbetrag
BSEGA-WRSHB " Fremwaehrungsbetrag
INTO EINZELPOSTEN.
BEGIN_OF_BLOCK 1.
*ELECT-OPTIONS:
GESBER FOR BSIK-GSBER.
PARAMETERS:
MONAT LIKE RFPDO-DOPRBMON.
SELECT-OPTIONS:
KKSALDO2 FOR RFSDO-KOPRSAL2, "Saldovortrag
AGOBLIG2 FOR RFSDO-KOPRAGO2. "Absolutes Obligo
RGOBLIGO FOR RFSDO-DOPRRGOB. "Relatives Obligo
SELECT-OPTIONS:
LAND FOR LFA1-LAND1,
KONTENGR FOR LFA1-KTOKK,
SACHBEAR FOR LFB1-BUSAB,
AKONTS FOR LFB1-AKONT,
AKONTP FOR BSIK-HKONT.
SELECT-OPTIONS:
BUDAT FOR BSIK-BUDAT,
BLDAT FOR BSIK-BLDAT,
NETDT FOR BSEGA-NETDT.
PARAMETERS: N_BELEGE LIKE RFPDO-BPETNBEL
DEFAULT 'X', "Normale Belege.
STAT_BLG LIKE RFPDO-BPETSBEL. "Statistische Belege
END_OF_BLOCK 1.
*ELECT-OPTIONS:
BERABZU1 FOR LFC1-BABZG,
UNBABZU1 FOR LFC1-UABZG,
ZINSE1 FOR LFC1-KZINS,
JHRAUSG1 FOR LFC1-KUMAG.
BERABZUG FOR BEABZUG NO-DISPLAY, "Berechtigter Abzug
UNBABZUG FOR UBABZUG NO-DISPLAY, "Unberechtigter Abzug
ZINSEN FOR KUMZINS NO-DISPLAY, "Kumulierter Zins
JHRAUSGL FOR JAHRAUG NO-DISPLAY. "Kumulierter Jahresausgl.
BEGIN_OF_BLOCK 2.
PARAMETERS:
SORTART LIKE RFPDO1-KOPRSOAR DEFAULT '1', "Doku
VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1', "Doku
RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0', "Doku
KONZVERS LIKE RFPDO-DOPOKONZ, "Konzernversion
XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
KAUSGABE like rfpdo3-ALLGKAOR.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-030.
PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(01) TEXT-028.
PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(01) TEXT-028.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(28) TEXT-031.
SELECTION-SCREEN POSITION POS_HIGH.
PARAMETERS RBLDAT LIKE RFPDO2-KORD10BD.
SELECTION-SCREEN COMMENT 61(12) TEXT-032.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 37(01) TEXT-028.
PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-026.
PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
SELECTION-SCREEN COMMENT 35(02) TEXT-027.
PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
SELECTION-SCREEN COMMENT 41(02) TEXT-027.
PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
SELECTION-SCREEN COMMENT 47(02) TEXT-027.
PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
SELECTION-SCREEN COMMENT 53(02) TEXT-027.
PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-029.
PARAMETERS: FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN COMMENT 35(1) TEXT-028.
PARAMETERS: STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PZUOR LIKE RFPDO2-DOPRZUOR.
PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
PARAMETERS:
TITLE LIKE RFPDO1-ALLGLINE,
LISTSEP LIKE RFPDO-ALLGLSEP,
MIKFICHE LIKE RFPDO-ALLGMIKF.
PARAMETERS:
P_LVAR LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
END_OF_BLOCK 2.
AT SELECTION-SCREEN OUTPUT.
if acc_mode is initial.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = '508'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
AT SELECTION-SCREEN ON AKONTS.
Konvertierung der Kontonummer
LOOP AT AKONTS.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-LOW AKONTS-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-HIGH AKONTS-HIGH.
MODIFY AKONTS.
ENDLOOP.
AT SELECTION-SCREEN ON AKONTP.
Konvertierung der Kontonummer
LOOP AT AKONTP.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-LOW AKONTP-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-HIGH AKONTP-HIGH.
MODIFY AKONTP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
Gs_VARIANT-REPORT = SY-REPID.
Gs_VARIANT-VARIANT = P_LVAR.
PERFORM F4_FOR_S_LVAR USING Gs_VARIANT.
P_LVAR = Gs_VARIANT-VARIANT.
AT SELECTION-SCREEN.
IF NOT RASTBIS5 IS INITIAL.
IF RASTBIS5 GT RASTBIS4
AND RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS4 IS INITIAL.
IF RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS3 IS INITIAL.
IF RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS2 IS INITIAL.
IF RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
nichts zu tun
ENDIF.
ENDIF.
END
Maybe you are looking for
-
Can xorg-clock open in the dock instead of lal?
I use openbox + docker + lal (which opens in the dock). Could I substitute lal with xorg-clock? Thank you
-
Po prices is not updateing from inforecord
Guru In Po when enter the Material & QTy & Price for that material is appering from info earlear now the problem is that Price is not picking from the last Po or Inforecord what must be problem. can u help me Thanks Sudhir
-
Web Gallery created in Bridge not displaying first picture correctly on a Unix server
Hi Guys, Am really stumped by a problem that has surfaced after moving from a Windows web hosting server to a Unix hosting platform. The Web Galleries created in both Bridge CS4 and CS6 display and operate as expected on the Windows server. However,
-
Decimal Precision In BOM....
Hi there, Can any one pls enlighten me that is there any setting in SPRO (without ABAP in picture) to change the decimal precision for the qty of item material in BOM ? Points will be rewarded for helpful answers....!! Thanks Kaushik
-
Is VSS supported in Cisco Prime Infrastructure 1.2?
Is VSS supported in Cisco Prime Infrastructure 1.2?