Many ABAPERS have this problem, if a batch input has a table control, then the font size changes from machine to machine as
a result the no of entries keeps changing, So how to determine the number of available lines depending on the font size.
I have a solution for this and it works fine.
Here is the code.
thanks
Poonam
*****************************************************************
------------------------------------------------------
* data for controlling paging on screen 0102
DATA: W_MAXLINES(2) TYPE N,
W_NEXT_LINE(3) TYPE N,
W_PAGE(1), "y = page forward, n otherwise
W_SCRLEN(2) TYPE I,
W_SCRLINE(2) TYPE I.
DATA: BEGIN OF W_HDR.
INCLUDE STRUCTURE D020S.
DATA: END OF W_HDR.
DATA: BEGIN OF W_FLD OCCURS 100.
INCLUDE STRUCTURE D021S.
DATA: END OF W_FLD.
DATA: BEGIN OF W_LOG OCCURS 20.
INCLUDE STRUCTURE D022S.
DATA: END OF W_LOG.
DATA: BEGIN OF W_MC OCCURS 20.
INCLUDE STRUCTURE D023S.
DATA: END OF W_MC.
DATA: BEGIN OF W_DYNPRONAME,
PROGRAM(8) VALUE 'SAPMM60X',
DYNPRO(4) VALUE '0102',
END OF W_DYNPRONAME.
************************************************************************
FORM GET_MAX_LINES.
* set w_maxlines to the number of var-loop occurrences on the screen so
* that we know when to page forward on screen 0102
* also initialise w_next_line to zero for GET_NEXT_LINE
* this subroutine caters for all cases - including screens without loops
CLEAR: W_MAXLINES,
W_NEXT_LINE.
IMPORT DYNPRO W_HDR
W_FLD
W_LOG
W_MC
ID W_DYNPRONAME.
LOOP AT W_FLD WHERE LTYP EQ 'L'.
MOVE W_FLD-LINE TO W_SCRLINE. "first var-loop line
MOVE W_FLD-LBLK TO W_SCRLEN. "depth of loop block
EXIT.
ENDLOOP.
IF SY-SUBRC EQ 0
AND W_SCRLEN NE 0.
* sy-srows = total no of lines on screen
* w_scrline = actual first line of loop so that
* w_scrline - 1 = number of heading lines (before loop)
* 4 = no of lines at top of screen - command line, pushbuttons, 2 ulines
* 3 = no of lines after loop - uline & Page count
* w_scrlen = no of lines in loop block
* w_maxlines = sy-srows - ( wscrline - 1 ) - 4 - 3
* and then 1 less but not sure why!
W_MAXLINES = SY-SROWS - W_SCRLINE - 1 - 4 - 3.
W_MAXLINES = W_MAXLINES - 1.
W_MAXLINES = W_MAXLINES DIV W_SCRLEN.
ELSE.
MOVE 99 TO W_MAXLINES. "this required if no screen loop
ENDIF.
ENDFORM.
************************************************************************
FORM GET_NEXT_LINE.
* set w_page if page forward is required
W_NEXT_LINE = W_NEXT_LINE + 1.
IF W_NEXT_LINE GT W_MAXLINES.
W_NEXT_LINE = 1.
W_PAGE = 'Y'.
ELSE.
W_PAGE = 'N'.
ENDIF.
ENDFORM.
------------------------------------------------------
*****************************************************************
Thursday, October 21, 2010
abap program for How to determine the number of available lines depending on the font size
Subscribe to:
Post Comments (Atom)
Automation Testing
- Manual and Automation testing Challenges
 - What you need to know about BVT (Build Verification Testing)
 - BVT types
 - Learning basics of QTP automation tool and preparation of QTP interview questions
 - QuickTest Pro - QTP Functional testing tool review
 - Tips you should read before automating your testing work
 - Choosing Automation tool for your organization
 
Blog Archive
- 
        ▼ 
      
2010
(342)
- 
        ▼ 
      
October
(127)
- free downloadABAP/4 OLE Automation Controller pdf ...
 - sap abap program Sample XML Source Code For SAP
 - sap abap XML file to word document through SAP
 - abap program for How to determine the number of av...
 - Handling favorites in ABAP Workbench
 - ABAP/4 Programming Quickstart
 - Number Range Object in sap
 - PERFORMENCE TIPS IN ABAP
 - ABAP Tips and Tricks
 - ABAP Tips and Tricks
 - What is the use of the POSITION and SIZE command i...
 - How to find the Driver Program for the given SAPsc...
 - How can I set the header and footer in the main wi...
 - What the conditional statements used in SAP Scripts?
 - What the conditional statements used in SAP Scripts?
 - What is the difference between the SAP Script text...
 - How can I change the page size of the layout?
 - How can I apply shading for the BOXes in SAP Script?
 - How can I format the date being displayed in the S...
 - How can I format the time in the SAP Script?
 - Frequently Used System Variables in SAPScript?
 - What are the different types of windows in SAP Scr...
 - How can I set the position of the leading sign to ...
 - What are the various text formatting options in SA...
 - How can I trigger new page in SAPScripts?
 - How can I prevent page-break in the message that i...
 - How can I copy SAPScripts from one client to another?
 - How can I print logos in SAPScripts?
 - How can I copy SAPScripts from one client to another?
 - How can I Word Wrap the text being displayed in SA...
 - How can I display barcodes in SAPScripts?
 - I have created a script in language DE. Now I need...
 - ABAP Tips and Tricks
 - PERFORMENCE TIPS IN ABAP
 - ABAP Tips and Tricks
 - Number Range Object in sap
 - Handling favorites in ABAP Workbench
 - abap program for How to determine the number of av...
 - ABAP/4 Programming Quickstart
 - Some ABAP/4 Query header line variable
 - ABAP Quick Viewer
 - Creating The Query
 - SAP ABAP Queries
 - Creating Functional Areas Without a Logical Database
 - Creating Functional Areas using a Logical Database
 - Creating the ABAP Query
 - Creating the User Group in SAP ABAP Queries
 - Ranked List and Statistics in abap query
 - Data Retrieval Using Program in abap query
 - Authorizations in abap query
 - What Is SAP Queries
 - Authorizations in abap query
 - SAP Query (BC-SRV-QUE)
 - click on link
 - HOW TO DEVELOPE ABAP QUERY
 - ABAP/4 Query Hints and Tips IN Abap Query
 - ABAP Program: Output of Date Format
 - ABAP Programs : Using the events start-of-selectio...
 - C program that uses the GUI automatization interfa...
 - This ABAP rings the bell on any chosen pc, that ha...
 - Method of displaying the hidden ABAPs of SAP - fro...
 - abap program for Parallel processing: breaks a rep...
 - Simple macro that prevents runnig more than one in...
 - abap Program to download/upload table data dynamic...
 - Create/Modify/Delete records in any table from CSV...
 - Displaying Graphics using an ABAP Program
 - ABAP Program: Output of Date Format
 - Making a Java Editor in ABAP and compiling it
 - Program to Hide ABAP's Source Code and Protects it
 - Program to Hide ABAP's Source Code and Protects it
 - Using Different Color in ABAP
 - Protect part of ABAP code from modifying
 - String Handling in ABAP - Removing Unwanted Char
 - How to find out Total No of Pages of a Report Outp...
 - Split String into two parts at delimiter in sap abap
 - Macro to validate Date in abap sap
 - How to get the field descriptions of a table?
 - Dynamically increase/decrease the number of batch/...
 - Have active URL-s in the list an ABAP report creates
 - ABAP Program: show and hide windows by request
 - Perl script to check the status of the SAP systems...
 - abap program for Customized, dynamic login screen
 - ABAP Program for refresh dynamically - once a seco...
 - ABAP Program for Limit the parallel instances a pa...
 - Hide and password-protect any ABAP's source - stil...
 - Display the long raw fields of such SAP tables as ...
 - ABAP Program for Yet another customized logon scre...
 - The abap part, that retrieves the data from the SA...
 - abap program for The remote script for 96a
 - ABAP Program for This perl displays a self-refresh...
 - abap program for Automatically save and circulate ...
 - Tree display of the UNIX process table - a click o...
 - ABAP Program for Continuously display the rejected...
 - abap program for Display the true average response...
 - COMMUNICATION INTERFACE IN ABAP COMPLETE
 - COMMUNICATION INTERFACE 1
 - COMMUNICATION INTERFACE 2
 - COMMUNICATION INTERFACE 3
 - COMMUNICATION INTERFACE 4
 - COMMUNICATION INTERFACE 5
 
 
 - 
        ▼ 
      
October
(127)
 
No comments:
Post a Comment