Output display
Hi Friends,
I have one query regarding my output.
Suppose i have multiple entries in my internal table itab.
Now i wanted to display internal table via screen 0101 as a scrollable output.
will u tell me how to do this??
If coding is there it will be appriciated.
Thanks in advance.
Hi
Check out the code using table control.
Go to se51 editor and drag the table control and give name for that as tabctrl (Which u r referring in the program).
Tables VBAK.
Data Itab like VBAK occurs 0 with header line.
Controls tabctrl type tableview using screen 1000.
Data fill type i.
&----& Module Assign_data OUTPUT
&---- text
MODULE Assign_data OUTPUT.
move itab to vbak.
ENDMODULE. " Assign_data OUTPUT
&----& Module USER_COMMAND_1000 INPUT
&---- text
MODULE USER_COMMAND_1000 INPUT.
case sy-ucomm.
when 'EXIT'.
set screen 0.
endcase.
ENDMODULE. " USER_COMMAND_1000 INPUT
&----& Module STATUS_1000 OUTPUT
&---- text
MODULE STATUS_1000 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
Select * from vbak into table itab.
describe table itab lines fill.
tabctrl-lines = fill.
ENDMODULE. " STATUS_1000 OUTPUT
Logic to be written in screen logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_1000.
loop at itab with control tabctrl cursor tabctrl-top_line.
Module Assign_data.
endloop.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_1000.
loop at itab.
endloop.
Hope this code will help u
Regards
Haritha
Similar Messages
-
Help on output Display
Thanks in Advance
ID ROUTE STRT_NAME BEGIN_DESCRIPTION END_DESCRIPTION OVERLAP BEG_MP END_MP Hierarchy
100899 CR ELM AVE EXT FUERA BUSH RD ELM AVE 1551 0 0.46 3
100899 CR ELM AVE ELM AVE RT 910A 1551 0.46 0.95 3
100899 CR ELM AVE ELM AVE DELMAR BYPASS 1551 0.46 0.83 3
100290 NY32 ELM AVE EXT RT 910A FEURA BUSH RD ELM AVE 1551 16.85 17.31 1
100290 NY32 ELM AVE ELM AVE DELMAR BYPASS 1551 17.31 17.68 1
My output will be Based on Hierarchy Max valuewhich is "3"
ID = Hierarchy Max value 3 =(100899)
ROUTE = Hierarchy Min Value which is "NY32"
STRT NAME = Hierarchy Max value (3) and Min of Beg_MP of Hierarchy Max value(3) = ELM AVE EXT
Begin Description = Hierarchy Max value (3) and Min of Beg_MP (0) of Hierarchy Max value(3) = FUERA BUSH RD
End_description =Hierarchy Max value (3) and Max of Beg_MP (0.95) of Hierarchy Max value(3) = RT 910A
Beg_MP = Hierarchy Max value (3) and Min of Beg_MP (0) of Hierarchy Max value(3) =0
end_mp = Hierarchy Max value (3) and Max of Beg_MP (0.95) of Hierarchy Max value(3) = 0.95
ID ROUTE STRT_NAME BEGIN_DESCRIPTION END_DESCRIPTION BEG_MP END_MP
100899 NY32 ELM AVE EXT FUERA BUSH RD RT 910A 0 0.95CREATE TABLE TABLE_query(ID NUMBER,ROUTE VARCHAR2(30),STR_NAME VARCHAR2(30), BEGIN_DESCRIPTION VARCHAR2(300),END_DESCRIPTION VARCHAR2(300),BEG_MP NUMBER,END_MP NUMBER,HIERARCHY NUMBER,overlap number);
INSERT INTO TABLE_query(ID ,ROUTE,STR_NAME, BEGIN_DESCRIPTION,END_DESCRIPTION,BEG_MP,END_MP ,HIERARCHY,overlap)
values(100899,'CR','ELM AVE EXT','FUERA BUSH RD','ELM AVE',0,0.46,3,1551);
INSERT INTO TABLE_query(ID ,ROUTE,STR_NAME, BEGIN_DESCRIPTION,END_DESCRIPTION,BEG_MP,END_MP ,HIERARCHY,overlap)
values(100899,'CR','ELM AVE','ELM AVE','DELMAR BYPASS',0.46,0.95,3,1551);
INSERT INTO TABLE_query(ID ,ROUTE,STR_NAME, BEGIN_DESCRIPTION,END_DESCRIPTION,BEG_MP,END_MP ,HIERARCHY,overlap)
values(100899,'CR','ELM AVE','ELM AVE','DELMAR BYPASS',0.46,0.83,3,1551);
INSERT INTO TABLE_query(ID ,ROUTE,STR_NAME, BEGIN_DESCRIPTION,END_DESCRIPTION,BEG_MP,END_MP ,HIERARCHY,overlap)
values(100290,'NY32','ELM AVE EXT','RT 910A FEURA BUSH RD','ELM AVE',16.85,17.31,1,1551);
INSERT INTO TABLE_query(ID ,ROUTE,STR_NAME, BEGIN_DESCRIPTION,END_DESCRIPTION,BEG_MP,END_MP ,HIERARCHY,overlap)
values(100290,'NY32','ELM AVE','ELM AVE','DELMAR BYPASS',17.31,17.68,1,1551);
ID ROUTE STR_NAME BEGIN_DESCRIPTION END_DESCRIPTION BEG_MP END_MP HIERARCHY OVERLAP
100899 CR ELM AVE EXT FUERA BUSH RD ELM AVE 0 0.46 3 1551
100899 CR ELM AVE ELM AVE DELMAR BYPASS 0.46 0.95 3 1551
100899 CR ELM AVE ELM AVE DELMAR BYPASS 0.46 0.83 3 1551
100290 NY32 ELM AVE EXT RT 910A FEURA BUSH RD ELM AVE 16.85 17.31 1 1551
100290 NY32 ELM AVE ELM AVE DELMAR BYPASS 17.31 17.68 1 1551
My output will be Based on Hierarchy Max valuewhich is "3"
ID = Hierarchy Max value 3 =(100899)
ROUTE = Hierarchy Min Value which is "NY32"
STRT NAME = Hierarchy Max value (3) and Min of Beg_MP of Hierarchy Max value(3) = ELM AVE EXT
Begin Description = Hierarchy Max value (3) and Min of Beg_MP (0) of Hierarchy Max value(3) = FUERA BUSH RD
End_description =Hierarchy Max value (3) and Max of Beg_MP (0.95) of Hierarchy Max value(3) = DELMAR BYPASS
Beg_MP = Hierarchy Max value (3) and Min of Beg_MP (0) of Hierarchy Max value(3) =0
end_mp = Hierarchy Max value (3) and Max of Beg_MP (0.95) of Hierarchy Max value(3) = 0.95
ID ROUTE STRT_NAME BEGIN_DESCRIPTION END_DESCRIPTION BEG_MP END_MP
100899 NY32 ELM AVE EXT FUERA BUSH RD DELMAR BYPASS 0 0.95
I figured out how to get id,beg_mp and end_mp
Can anyone help me getting the rest of data coumns please
--route,str_name,begin_description,end_description,beg_mp,end_mp,hierarchy,
select distinct max(id) keep (dense_rank last order by hierarchy) over (partition by overlap) ,
min(beg_mp) keep (dense_rank last order by hierarchy) over (partition by overlap) beg_mp,
max(end_mp) keep (dense_rank last order by hierarchy) over (partition by overlap) end_mp
from table_query -
WBS element field to Depreciation Simulation Report output display
Hi SAP Experts,
We need to Add the WBS element field to Depreciation Simulation Report output display (S_ALR_87012936)
Could please give your valuable inputs
Thanks
Hari PothulaHI Javed,
We have capitalized with WBS element but not displaying in simulation report.
All configurations done in in ACSET and activation Account assignment objects
Thanks
Hari -
How to redirect the output display on Ultra 5 box.
Hello,
Good day to you.
I have issues with redirecting display output to my console server (which is configured with cyclades switch) on a newly installed solaris 10, Ultra 5 box.
I could access the output display on the monitor when I connect it directly to the serial port. But I also have my parallel port connected to cyclades switch which is primarily being used for accessing multiple servers thro' one single console server.
When I try to access my ultra 5 box thro' console server, the display not getting redirected over there..I did checked the port from cyclades switch front, it did work well with other machines.
Looks like some work needs to be done at Ultra 5 box level so that the parallel port can send output signals to the respective port on cyclades switch and consequently to the console server.
Any thoughts ??
Thanks.Hi,
Good day to you.
Apologize for quoting "Parallel" port. It is a in-built 25pin serial connector placed next to regular 15 pin serial port.
Just to make a point here, this 25 pin serial connector has an external converter attached with other side having RJ45 jack.
CAT5 cable connected between switch port to this RJ45 jack.
I did tested this converter with another machine and could able to access the display on my console server. So it seems to be the connectivity from serial port to switch port works fine.
Adding to that, this ultra 5 box with the current connectivity set up was working fine until I rebuild this machine. I was very well accessing this box thro my console server. There was no changes done except rebuilding the operating system.
I think some work needs to be done at the ultra 5 box level to get this 25pin serial connector to act.
Thanks. -
Problem In report output display when i run in the background
Hi,
In a classical report i am printing around 17 fields the width of the report out put is around 800 characters.
If i run the report in the fore ground it running perfectly. But the thing is when i give large selection is it GETTING ' TIMED OUT ' as it is running more than an Hour.
so i wanted to run it in the back ground to avoid TIME OUT problems.
But when i run in the backgroud i am not getting full out put in the SPOOL request(SIZE of the report output may causing the problem) .
Pls come up with some solutions
Thanks in advanceTry increasing the spool length..
Refer this link for doing so.
Spool List output display > 255 char when the rpt is run in Background
Thanks
mahesh -
For output display report is final_internal table or structure in wd ABAP?
Hi all,
for output display report is final_internal table or structure in wd ABAP?
in wd java output display report -.> CALLING rfc and that RFC OUTPUT table
finally in internal table is assigned to STRUCTURE .Same procdure?
Thanks,
RAMADear Madhu,
thanks for guidence!
its showing popup tht this BADI ( ME_CHANGE_OUTTAB_CUS ) is only use for "SAP Internal use".
Regards,
Praphull -
Bold font in report output display
Dear All,
Will any one let me know how to set BOLD font in the report output display?
Thanks,
Ranjan<b>u cannot use this in 4.7</b>
REPORT ZFONT NO STANDARD PAGE HEADING LINE-SIZE 80 LINE-COUNT 65.
Start of print-control
NEW-PAGE PRINT ON.
PRINT-CONTROL FUNCTION 'SF000'.
WRITE: / 'This is CPI 20'.
SKIP.
PRINT-CONTROL FUNCTION 'SF020'.
WRITE: / 'This is CPI 6'.
SKIP.
PRINT-CONTROL FUNCTION 'SF008'.
WRITE: / 'This is CPI 12'.
Depending on your SAP printer device, this may also work
PRINT-CONTROL FONT 1 LPI 6.
you can try to change font and LPI numbers
WRITE: / 'font 1 lpi 6'.
PRINT-CONTROL FONT 2 LPI 6.
WRITE: / 'font 2 lpi 6'.
PRINT-CONTROL FONT 3 LPI 6.
WRITE: / 'font 3 lpi 6'.
End of print-control
NEW-PAGE PRINT OFF.
*--- End of Program -
Delete modify in itab output display
hi,
i am create a query for delete data from database table by using an internal table i am delete data from DB table but a problem are come as in output display
i am showing the
NUMBER OF ENTRIES ARE DELETE FROM TABLE: 2
NUMBER OF ENTRIES ARE REMAIN IN TABLE AFTER DELETEION:
seletion screen contains
SELECT-OPTIONS: s_ordid FOR zapolp22-ordid, "APO order id
s_matnr FOR zapolp22-matnr, "Material Number
s_locto FOR zapolp22-locto. "APO Destination location
PARAMETERS: p_days TYPE i. "Number of days
the problem are as:
if i am given only P-days parameter value 3
than it works as fine
showing output right as 2 rows are deleted
and 8 rows are remains in table
if i given all fields fill up in selection screen
as s_ordid----->4516 to 4517
s_matnr---->85503 to 85505
s_locto------> m100 to m101
p_days----> 2
then i get output display as
number of entries are deleted 2
number of entries are remain in table 0.
but the 2 rows are deleted from DB table and 8 rows are remain in table but it not show the 8 rows on display screen it shows zero.
my code is as:
DATA: lv_count TYPE i,
lv_count1 TYPE i.
DATA: lv_date TYPE sy-datum.
SELECT mandt
ordid
schedid
matnr
locto
lfmng
lfdat
locfr
rqmng
rqdat AS lv_date
prckz
blkstk
oppdelqty
zzapologmod
zzflagurgent
zzapottype
zzndays_l_time
FROM zapolp22 INTO TABLE lt_output
WHERE ordid IN s_ordid AND
matnr IN s_matnr AND
locto IN s_locto.
SORT lt_output[] BY rqdat.
>Number OF Days to be Counted
lv_date = sy-datum - p_days.
LOOP AT lt_output.
IF lt_output-rqdat LT lv_date.
MOVE-CORRESPONDING lt_output TO lt_delete.
APPEND lt_delete.
lv_count = lv_count + 1.
ELSE.
lv_count1 = lv_count1 + 1.
ENDIF.
endloop.
DELETE FROM zapolp22 WHERE rqdat LT lv_date AND
ordid IN s_ordid AND
matnr IN s_matnr AND
locto IN s_locto.
IF sy-subrc = 0.
WRITE:/25 'Number of entries deleted :', lv_count.
WRITE:/25 'Number of entries remaining :', lv_count1.
ELSEIF sy-subrc NE 0.
WRITE:/ 'No data are selected for delete'.
ENDIF.
Tell me where in this code i do mistake.
Thanks jayant.I don't know the contents of the table, but if you increase the number of restrictions in the SELECT statement, it will probably have lesser entries.
Now, you are not really counting the total number of rows left in the table, but the total number of rows in the table that match the criterion.
Basically, the first time (with lesser options) 10 rows are put into internal table, and 2 are deleted. So 8 are left.
In the second time, only 4 rows are getting selected, of which 2 are deleted, and 2 are left in the internal table NOT in the database table. In the database table, more rows are left (because they never got selected into the itab)
But if you want to count the total number of rows left in the DB, its better to count the number of rows in the end of the program with:
SELECT COUNT(*) FROM dbtab INTO lv_integer.
This can be pretty slow if the table is huge. -
hi
i'm doing an ALV Report. In the output i'm double clicking on the Document field using user-command
it is taking me to a particular Transaction and my requirement is if i change any field for ex : Description
in that transaction and come back again to the output display the Changed Description should appear
when i refresh the Output.how to get it?
Regards1. create one icon on allication toolbar which is REFRESH icon, and give some function for it.
2. write the code like:
CASE SY_UCOMM.
when 'FCODE'.
refresh itab.
perform get_data.
perform_displaydata.
it is nothing but u need to put the same code which u used earlier to show the data in output gaian after clicking on function code.
Regards,
Rajesh. -
Download List output displayed
Hi Friends,
I want to donwload the list output displayed from the Report program with the exisitng formatting structure (displayed).
1)From SAP menu we can click on System > List > Save > Local file to download the file locally.
2) I want to obtain same functionality as mentioned in point 1 through a button on tool bar.
I dont want to prepare any internal table locally with the same data that is displayed on the screen, in the same formatting structure and Download, which is similar to a local download functionality.
Please let me know ur suggestions.
Regards,
Lavanya.Then you have to display your O/p in the ALV display ...
so that you can achive your requirement ..Because the ALV has the similar icon for downloading to pc ..etc
by Normal reporting you cannot get this Option .in the Application tool bar . one is there as you menioned
From SAP menu we can click on System > List > Save > Local file to download the file locally.
because by pacing the icon in the Apllication bar it will not call the path ..etc. you have to do the coding ...instead of that ALV is best .
But in the ALV it is there in the standard ALV GRID with Downlaod icon , summation,scroldown ,sorting (A/D) ,etc...
reward points if it is usefull ..
Girish -
Hi,
i create a programm use alv but a problem occurs
in my output display there is a quantity field KONV-KBETR
o/p come as 100,00 (COMMA)
but i want it come as 100.00 it come in decimal
plz give me a solution for this.
Thanks,
ajay>
ajay kumar wrote:
> plz give me codes notation for this i am not use user settings.
>
> thanks
> ajay
Why not with User Settings?
Else Press F1 on replace all occurances and code. -
After Effects warning: couldn't set Quicktime video output display mode
After Effects warning: couldn't set Quicktime video output display mode
I'm getting this error when exporting video from after effects. I also get it when the program starts up. I'm using Windows XP. Cannot find anything about a fix anywhere. Does anyone know how to fix this?Thanks for your reply. I profess ignorance regarding the GDI only mode and have no idea how to access that. Can you give me a little more info on that?
I am using an ATI Radeon HD 3850. I have two monitors on that card, Monitor one is a Trinitron HP 1130 CRT.(set to 1280x1024 16bit) The other is DVI wide screen Ilo 26 inch monitor. (1024x768 at 32 bit)
I have a BlackMagic Design DECKLINK standard definition broadcast card which outputs component video to a sony broadcast Beta deck. 480ix720 standard video.
The machine has a gigabyte motherboard. Intel Core 2 quad cpu 2.66 ghz
2.50 gb ram reported (4gigs installed)
These hasn't been a major issue as I can still output AVI uncompressed but it is annoying.
John -
Spool List output display 255 chars
Hi,
I am execuing the my report in back groung.The oupt list has more than 255 chars.
could u please let me know how Spool List output display > 255 char when the rpt is run in back ground.
regards,
Rayeez.Hello,
Try using the printer formatting as X_65_255.
Please check this [link|Report is truncating in background; for details.
BR,
Suhas -
Strange behaviour in alv output display for a date column!
hi friends,
my alv output list display contains a column for budat (posting date), if this field has no value, then it displays a blank cell (space) in the output in my user login...but when the same report is run in another user login, even though the value of the column is null, it displays 00000000 (8 zeroes) rather than displaying a blank cell...i have set the field catalog property NO_ZERO = 'X'; is this property has anything to do with authorization to achieve its funcionality? am not sure...this is strange, as it is the same report, same field catalog that is being used..need some inputs on this
thanks in advance
SathishThere are 2 solutions for an adhoc solution you can change the field to a char10 field, this will solve your immediate problem of the 0 display. For a permanent solution you can check the user profile setting for the date for you as well as the concerned user.
Hope That Helps
Anirban M. -
Issue in output display in report,,
hi,
i have a report where i display a decimal value similar to other values, but this one is not displayed. I traced till the write statement and i do have the correct value in the variable. But this is just not displayed. what could be the issue. find below the code snippet.
WRITE :/5 'Mat',15 'Mat',50 'Caliper',60'Grade', 105 'Delv Qty',117 'EA' . WRITE :/5 'Number',15 'Description'.
WRITE :/5 t_pick_view-matnr,
15 t_pick_view-arktx,
50 t_pick_view-caliper,
60 t_pick_view-grade,
105 t_pick_view-ea_qty, "#EC *
117 t_pick_view-ea_unit. "#EC *
here the value in t_pick_view-ea_qty is available (7.0000) but not displayed on the report output. One thing I noticed is that the next value ea_unit (it has value ROLLS) is displayed but is displayed with a zero after that like 'ROLLS 0'. Seems the ea_qty value gets partially hidden (it is 7.0000). what cud be wrong ?
thksHi Vijay,
data definitions are all fine, as i said, i am able to see the value in the variable during debugging, but the write statement does not write it correctly on the page !!
now i found out another thing but still the issue is unresolved.
I commented the statement to display the next value , i.e. ea_unit (whose value is ROLLS) and now i am able to see the ea_qty displayed as 7.000.
It seems 7.000 is displayed, but then the next value overwites that location with ROLLS and bcos 7.000 is already displayed there, I get ROLLS 0.
But this is crazy as the display column positions are different for both but then why the first value 7.000 displayed under the second column ??
so now i changed the display position to 103 (instead of 105 )and i can see 7 popping up (7 from 7.000 )!!! any idea whats hapening ?? i hope u understood my explanation.. -
Spool List output display 255 char when the rpt is run in Background
Hi Friends,
I tried executing a program in Background.. The report output has more than 64 columns ( more than 255 char ) ..
Iam using "REUSE_ALV_GRID_DISPLAY" for displaying the list.
My Problem:
1. The spool list is truncated after 255 characters when i run in background.
2. Th output in Spool List is coming in 2 rows ... not very clear ... becoz of that the grid lines are not getting displayed.
3. I ve not used any Standard - line size for dislaying ..
4. In foreground i am able to display all the 64 columns... Y not in Background......
5. My Printer setting is ..X_255 .... only ...
Requirement:
1. What should i do to increase the spool list display to more than 255 characters
2. Or how to save the background run reports output to an excel sheet as how we 'll take the from the foreground.
Expecting your answers,
Thanks in Advance...
Cheers,
R.Kripa .........
Enjoy ABAPing ..........
new upcoming Abaper ....Hello Kripa,
You need to perform two actions.
1. set an appropriate format for the printer you are using. As explained from the previous messages you go to: SPAD -> output devives (type the printer you are using) -> from the menu ..-> goto -> device type -> formats. In there create a new format like Z_65_650
or Z_65_xxxx where xxxx could be up to 1065. This is the length of your report.
When you give your report in background, do not forget to choose the new format you created.
2. After the spool request is created, you take its number and use it ar a parameter in the following report.
Please copy and paste it in a new program, maybe called ZRSPOSHOWSPOOLLIST.
It should work then.
roxani
Display spool list > 255 columns
This is a SAP utility report to allow display of
spool request lists with line size more than 255 characters in
releases 4.6B and 4.6C (4.6D kernel must be used)
REPORT ZRSPOSHOWLIST LINE-SIZE 80.
PARAMETERS: RQIDENT LIKE TSP01-RQIDENT,
FIRSTL TYPE I DEFAULT 0,
LASTL TYPE I DEFAULT 0.
global data from LSPOXTOP
DATA: RC(10) TYPE C,
ERRMSG(100) TYPE C,
STATUS LIKE SY-SUBRC,
DSN_TYPE(8) TYPE C.
DATA: BEGIN OF DATA_SET_LINE,
DATA_LENGTH(5),
PRECOL(1),
DATA_LINE(1000),
DATA_LINE(5000), "MODAB
END OF DATA_SET_LINE,
DATA_SET_LENGTH(5) TYPE C.
TABLES: TSP01, TST05, TSPOPTIONS.
DATA: TEMSE_NAME LIKE TST01-DNAME,
TEMSE_CLIENT LIKE TST01-DCLIENT,
TEMSE_HANDLE LIKE RSTSTYPE-HANDLE,
TEMSE_PART LIKE TST01-DPART,
TEMSE_OBJTYP LIKE TST01-DTYPE,
TEMSE_RECTYP LIKE RSTSTYPE-RECTYP,
TEMSE_CHARCO LIKE TST01-DCHARCOD.
DATA: IS_OTF.
global data from LSPOCTOP
DATA: BEGIN OF SPOC
, escape
, prtctrl
, FIRST_BYTES(4) " collection of the first bytes of the
" escape sequences, which I am searching for.
, PRTCTRL_START_LENGTH TYPE I
, PRTCTRL_TOTAL_LENGTH TYPE I
, PRTCTRL_START(10)
, SYMBOL_LOW_START(10)
, SYMBOL_HGH_START(10)
, SYMBOL_START_LENGTH TYPE I
, ICON_START(10)
, ICON_START_LENGTH TYPE I
, ICON_SEL TYPE I VALUE 1
, FRAME_START(10)
, FRAME_START_LENGTH TYPE I
, END OF SPOC.
FIELD-SYMBOLS: <SPOC_PRTCTRL> TYPE C
, <SPOC_FRAME> TYPE C
, <SPOC_ICON> TYPE C
, <SPOC_SYMBOL_LOW> TYPE C
, <SPOC_SYMBOL_HGH> TYPE C
copied from RSPO_DISPLAY_ABAP_SPOOLJOB
DATA: BUFFER LIKE DATA_SET_LINE OCCURS 1000.
TABLES: TSP02L.
SELECT SINGLE * FROM TSP01 WHERE RQIDENT = RQIDENT.
IF SY-SUBRC <> 0.
WRITE: / 'Spool request does not exist:'(001), RQIDENT.
EXIT.
ENDIF.
CALL FUNCTION 'RSPO_CHECK_JOB_PERMISSION'
EXPORTING
ACCESS = 'DISP'
SPOOLREQ = TSP01
EXCEPTIONS
NO_PERMISSION = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
WRITE: / 'No authorization to display'(002).
EXIT.
ENDIF.
PERFORM READ_DATA TABLES BUFFER
USING TSP01 FIRSTL LASTL.
IF SY-SUBRC <> 0.
WRITE: / 'Error reading spoolo request'(003).
EXIT.
ENDIF.
IF IS_OTF = 'X'.
WRITE: / 'This spool request is not an ABAP list'(004).
EXIT.
ENDIF.
PERFORM DISPLAY_DATA TABLES BUFFER USING TSP01-RQPAPER TSP01-RQIDENT.
FORM GET_SPOOL_LINE.
DO.
IF TEMSE_RECTYP+1(1) = 'Y'.
CALL 'C_RSTS_READ'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'BUFF' FIELD DATA_SET_LINE
ID 'BUFFLG' FIELD 1006
ID 'BUFFLG' FIELD 5006 "MODAB
ID 'ALLINE' FIELD 'X'
ID 'BINARY' FIELD ' '
ID 'SHOWLG' FIELD 'X'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
ELSE.
CALL 'C_RSTS_READ'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'BUFF' FIELD DATA_SET_LINE+1
ID 'BUFFLG' FIELD 1005
ID 'BUFFLG' FIELD 5005 "MODAB
ID 'ALLINE' FIELD 'X'
ID 'BINARY' FIELD ' '
ID 'SHOWLG' FIELD 'X'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
DATA_SET_LINE(5) = DATA_SET_LINE+1(5).
DATA_SET_LINE-PRECOL = ' '.
ADD 1 TO DATA_SET_LINE-DATA_LENGTH.
ENDIF.
STATUS = SY-SUBRC.
IF STATUS <> 6. " EOF, error condition, or got data
EXIT.
ENDIF.
end of this part, try to open next part
ADD 1 TO TEMSE_PART.
CALL 'C_RSTS_CLOSE'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS = 0.
CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
EXPORTING
AUTHORITY = 'SP01'
CLIENT = TEMSE_CLIENT "hjl
NAME = TEMSE_NAME
PART = TEMSE_PART
IMPORTING
CHARCO = TEMSE_CHARCO
CREATER =
CREDATE =
DELDATE =
MAX_CREDATE =
MAX_DELDATE =
NON_UNIQ =
NOOF_PARTS =
RECTYP = TEMSE_RECTYP
SIZE =
STOTYP =
type =
OBJTYPE = TEMSE_OBJTYP
EXCEPTIONS
FB_ERROR = 1
FB_RSTS_OTHER = 2
NO_OBJECT = 3
NO_PERMISSION = 4
OTHERS = 5.
STATUS = SY-SUBRC.
ENDIF.
IF STATUS = 0.
CALL 'C_RSTS_OPEN_READ'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'CLIENT' FIELD TEMSE_CLIENT "hjl
ID 'NAME' FIELD TEMSE_NAME
ID 'PART' FIELD TEMSE_PART
ID 'TYPE' FIELD TEMSE_OBJTYP
ID 'CONV' FIELD ' '
ID 'ALLINE' FIELD 'X'
ID 'BINARY' FIELD ' '
ID 'RECTYP' FIELD TEMSE_RECTYP
ID 'CHARCO' FIELD TEMSE_CHARCO
ID 'PROM' FIELD 'I'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
ENDIF.
ENDDO.
IF STATUS = 4.
STATUS = 12. "EOF
ENDIF.
IF STATUS = 8.
STATUS = 40. "Line too long
ENDIF.
DATA_SET_LENGTH = DATA_SET_LINE-DATA_LENGTH.
ENDFORM.
FORM READ_DATA TABLES BUFFER
USING TSP01 LIKE TSP01 VALUE(FIRST) TYPE I
VALUE(LAST) TYPE I.
DATA: LINES TYPE I.
REFRESH BUFFER.
CLEAR IS_OTF.
TEMSE_CLIENT = TSP01-RQCLIENT.
TEMSE_NAME = TSP01-RQO1NAME.
TEMSE_PART = 1.
CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
EXPORTING
AUTHORITY = 'SP01'
CLIENT = TEMSE_CLIENT
NAME = TEMSE_NAME
PART = TEMSE_PART
IMPORTING
CHARCO = TEMSE_CHARCO
CREATER =
CREDATE =
DELDATE =
MAX_CREDATE =
MAX_DELDATE =
NON_UNIQ =
NOOF_PARTS =
RECTYP = TEMSE_RECTYP
SIZE =
STOTYP =
type =
OBJTYPE = TEMSE_OBJTYP
EXCEPTIONS
FB_ERROR = 1
FB_RSTS_OTHER = 2
NO_OBJECT = 3
NO_PERMISSION = 4
OTHERS = 5.
IF SY-SUBRC = 0.
IF TEMSE_OBJTYP(3) = 'OTF'.
IS_OTF = 'X'.
ENDIF.
ELSE.
EXIT.
ENDIF.
CLEAR TEMSE_HANDLE.
CALL 'C_RSTS_OPEN_READ'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'CLIENT' FIELD TEMSE_CLIENT "hjl
ID 'NAME' FIELD TEMSE_NAME
ID 'PART' FIELD TEMSE_PART
ID 'TYPE' FIELD TEMSE_OBJTYP
ID 'CONV' FIELD ' '
ID 'ALLINE' FIELD 'X'
ID 'BINARY' FIELD ' '
ID 'RECTYP' FIELD TEMSE_RECTYP
ID 'CHARCO' FIELD TEMSE_CHARCO
ID 'PROM' FIELD 'I'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS = 0.
DO.
PERFORM GET_SPOOL_LINE.
IF STATUS <> 0 AND STATUS <> 40 AND STATUS <> 12.
PERFORM CLOSE_JOB.
EXIT.
ENDIF.
IF STATUS <> 12. " 12 = End
IF NOT ( DATA_SET_LENGTH IS INITIAL ).
DATA_SET_LINE-DATA_LENGTH = DATA_SET_LENGTH - 1.
ENDIF.
ADD 1 TO LINES.
IF LINES >= FIRST.
APPEND DATA_SET_LINE TO BUFFER.
ENDIF.
IF ( NOT LAST IS INITIAL ) AND ( LINES >= LAST ).
EXIT.
ENDIF.
ELSE.
IF LINES = 0.
PERFORM CLOSE_JOB.
EXIT.
ENDIF.
IF LINES < FIRST .
PERFORM CLOSE_JOB.
EXIT.
ENDIF.
EXIT.
ENDIF.
ENDDO.
PERFORM CLOSE_JOB.
ENDIF.
ENDFORM.
FORM CLOSE_JOB *
FORM CLOSE_JOB.
IF STATUS <> 0 AND STATUS <> 12.
CALL 'C_RSTS_CLOSE'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
MESSAGE E112(PO) WITH STATUS RC ERRMSG RAISING READ_ERROR.
ENDIF.
CALL 'C_RSTS_CLOSE'
ID 'HANDLE' FIELD TEMSE_HANDLE
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS <> 0.
MESSAGE E112(PO) WITH STATUS RC ERRMSG RAISING READ_ERROR.
ENDIF.
ENDFORM.
FORM DISPLAY_DATA TABLES BUFFER USING RQPAPER LIKE TSP01-RQPAPER
RQID LIKE TSP01-RQIDENT.
DATA: LINE_LENGTH TYPE I, GCOL TYPE I, GLINES TYPE I,
LINE_LENGTH2 LIKE RSTSTYPE-LINELENGTH,
V, V2.
CALL FUNCTION 'RSPO_SPOOLDATA_WRITE_INIT'.
PERFORM SPOOLDATA_WRITE_INIT. "MODAB
select single * from tspoptions where spoption = 'REALWIDTH'.
if sy-subrc = 0.
V = 'X'.
endif.
select single * from tspoptions where spoption = 'REALHEIGHT'.
if sy-subrc = 0.
V2 = 'X'.
endif.
IF NOT V IS INITIAL OR NOT V2 IS INITIAL.
GCOL = 0.
GLINES = 0.
SELECT SINGLE * FROM TSP02L WHERE PJIDENT = RQID
AND PJNUMMER = 0.
IF SY-SUBRC = 0.
GCOL = TSP02L-COLUMNS.
GLINES = TSP02L-LINES.
ELSE.
CALL FUNCTION 'RSPO_GET_SIZE_OF_LAYOUT'
EXPORTING
LAYOUT = RQPAPER
IMPORTING
ANSWER =
COLUMNS = GCOL
LINES = GLINES
PFORMAT =
ENDIF.
ENDIF.
IF GCOL < 80 OR V IS INITIAL.
GCOL = 255.
ENDIF.
IF GLINES < 5 OR V2 IS INITIAL.
GLINES = 0.
ENDIF.
IF GCOL >= 1024. "MODAB
GCOL = 1023.
ENDIF.
NEW-PAGE NO-HEADING NO-TITLE LINE-SIZE GCOL
LINE-COUNT GLINES. " make a wide list
SET BLANK LINES ON.
LOOP AT BUFFER.
DATA_SET_LINE = BUFFER.
IF DATA_SET_LINE-PRECOL = 'P'.
IF DATA_SET_LINE(1) = ' '. " Echter Vorschub ?"
NEW-PAGE.
ENDIF.
CONTINUE.
ENDIF.
Zeilenlange berechnen, falls unbekannt.
IF DATA_SET_LINE-DATA_LENGTH IS INITIAL.
LINE_LENGTH = STRLEN( DATA_SET_LINE-DATA_LINE ).
ELSE.
LINE_LENGTH = DATA_SET_LINE-DATA_LENGTH.
ENDIF.
IF LINE_LENGTH > 0.
LINE_LENGTH2 = LINE_LENGTH.
PERFORM SPOOLDATA_WRITE USING DATA_SET_LINE-DATA_LINE "MODAB
LINE_LENGTH2
1.
ELSE.
" Leerzeile
SKIP.
ENDIF.
ENDLOOP.
ENDFORM.
copied from RSPO_SPOOLDATA_WRITE
FORM SPOOLDATA_WRITE USING VALUE(SPOOL_DATA)
VALUE(DATA_LENGTH) LIKE RSTSTYPE-LINELENGTH
VALUE(START_POS) LIKE SY-COLNO.
function globals
DATA: LPOS LIKE SY-COLNO
, REST_LEN TYPE I
, AREA_LEN TYPE I
, NEXT_HOT TYPE I " offset of next special character
, COLS TYPE I " columns used by special character
, BYTES TYPE I " bytes used by special character
, HOT2
, HOT3
, HOT4
, HOT5
, HOT6
, HOT7
, BEGIN OF ESCAPE_TRICK
, X1(1) TYPE X
, END OF ESCAPE_TRICK
, THE_PRTCTRL(5) TYPE C
Because of a problem within the ABAP listprocessing, I shall
never output the same icon side by side with the same color
and without a gap.
As I don't know the data, I will use two different variables
alternatively.
, ICON_ID1 LIKE ICONS-L4
, ICON_ID2 LIKE ICONS-L4.
FIELD-SYMBOLS: <LDATA>
, <PLAIN_TEXT>
, <PRTCTRL>
, <HOT_PRTCTRL>
, <HOT_FRAME>
, <HOT_ICON>
, <HOT_SYMBOL>
IF START_POS < 2.
write at / ' ' no-gap.
NEW-LINE.
LPOS = 1.
ELSE.
LPOS = START_POS.
ENDIF.
REST_LEN = STRLEN( SPOOL_DATA ).
DESCRIBE FIELD SPOOL_DATA LENGTH AREA_LEN.
IF DATA_LENGTH = 0.
" fine.
ELSEIF DATA_LENGTH <= AREA_LEN.
REST_LEN = DATA_LENGTH.
ELSE.
WRITE: / 'Fehler beim Decodieren der Listendaten'(005).
STOP.
ENDIF.
CHECK REST_LEN > 0.
ASSIGN SPOOL_DATA(REST_LEN) TO <LDATA>.
WHILE <LDATA> CA SPOC-FIRST_BYTES.
NEXT_HOT = SY-FDPOS.
IF NEXT_HOT > 0.
ASSIGN <LDATA>(NEXT_HOT) TO <PLAIN_TEXT>.
MODAB
PERFORM WRITE_BIGFIELD USING <PLAIN_TEXT>
NEXT_HOT
LPOS.
WRITE AT LPOS <PLAIN_TEXT> NO-GAP.
ADD NEXT_HOT TO LPOS.
SUBTRACT NEXT_HOT FROM REST_LEN.
ASSIGN <LDATA>+NEXT_HOT(REST_LEN) TO <LDATA>.
ENDIF.
IF REST_LEN >= SPOC-PRTCTRL_START_LENGTH.
ASSIGN <LDATA>(SPOC-PRTCTRL_START_LENGTH) TO <HOT_PRTCTRL>.
ELSE.
ASSIGN 'too_short' TO <HOT_PRTCTRL>.
ENDIF.
IF REST_LEN >= SPOC-FRAME_START_LENGTH.
ASSIGN <LDATA>(SPOC-FRAME_START_LENGTH) TO <HOT_FRAME>.
ELSE.
ASSIGN 'too_short' TO <HOT_FRAME>.
ENDIF.
IF REST_LEN >= SPOC-ICON_START_LENGTH.
ASSIGN <LDATA>(SPOC-ICON_START_LENGTH) TO <HOT_ICON>.
ELSE.
ASSIGN 'too_short' TO <HOT_ICON>.
ENDIF.
IF REST_LEN >= SPOC-SYMBOL_START_LENGTH.
ASSIGN <LDATA>(SPOC-SYMBOL_START_LENGTH) TO <HOT_SYMBOL>.
ELSE.
ASSIGN 'too_short' TO <HOT_SYMBOL>.
ENDIF.
IF REST_LEN > 1.
HOT2 = <LDATA>+1(1).
IF REST_LEN > 2.
HOT3 = <LDATA>+2(1).
IF REST_LEN > 3.
HOT4 = <LDATA>+3(1).
ELSE.
HOT4 = '?'.
ENDIF.
ELSE.
HOT3 = '?'.
ENDIF.
ELSE.
HOT2 = '?'.
ENDIF.
IF <HOT_FRAME> = <SPOC_FRAME>.
COLS = 1. " in most cases.
BYTES = 2. " in most cases.
CASE HOT2.
WHEN '0'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '1'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '2'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '3'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '4'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '5'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '6'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '7'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '8'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN '9'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN ':'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
WHEN ';'. " box_drawings_light_left
WRITE AT LPOS '4' AS LINE NO-GAP.
WHEN '<'. " box_drawings_light_up
WRITE AT LPOS '5' AS LINE NO-GAP.
WHEN '='. " box_drawings_light_right
WRITE AT LPOS '4' AS LINE NO-GAP.
WHEN '>'. " box_drawings_light_down
WRITE AT LPOS '5' AS LINE NO-GAP.
WHEN '?'. " drawings_checkbox_off
WRITE AT LPOS ' ' AS CHECKBOX INPUT OFF NO-GAP.
WHEN '@'. " drawings_checkbox_on
WRITE AT LPOS 'X' AS CHECKBOX INPUT OFF NO-GAP.
WHEN OTHERS.
BYTES = 0.
ENDCASE.
ENDIF.
IF <HOT_SYMBOL> = <SPOC_SYMBOL_LOW>.
ESCAPE_TRICK = HOT3.
SUBTRACT 32 FROM ESCAPE_TRICK-X1.
IF HOT4 = SPACE.
WRITE AT LPOS(2) ESCAPE_TRICK AS SYMBOL NO-GAP.
COLS = 2.
BYTES = 4.
ELSE.
WRITE AT LPOS(1) ESCAPE_TRICK AS SYMBOL NO-GAP.
BYTES = 3.
ENDIF.
ENDIF.
IF <HOT_SYMBOL> = <SPOC_SYMBOL_HGH>.
ESCAPE_TRICK = HOT3.
ADD 32 TO ESCAPE_TRICK-X1.
IF HOT4 = SPACE.
WRITE AT LPOS(2) ESCAPE_TRICK AS SYMBOL NO-GAP.
COLS = 2.
BYTES = 4.
ELSE.
WRITE AT LPOS(1) ESCAPE_TRICK AS SYMBOL NO-GAP.
BYTES = 3.
ENDIF.
ENDIF.
IF <HOT_ICON> = <SPOC_ICON>.
IF SPOC-ICON_SEL >< 1.
SPOC-ICON_SEL = 1.
ICON_ID1 = '@00@'.
ICON_ID1+1(1) = HOT3.
ICON_ID1+2(1) = HOT4.
ELSE.
SPOC-ICON_SEL = 2.
ICON_ID2 = '@00@'.
ICON_ID2+1(1) = HOT3.
ICON_ID2+2(1) = HOT4.
ENDIF.
IF REST_LEN > 4.
HOT5 = <LDATA>+4(1).
IF REST_LEN > 5.
HOT6 = <LDATA>+5(1).
IF REST_LEN > 6.
HOT7 = <LDATA>+6(1).
ELSE.
HOT7 = '?'.
ENDIF.
ELSE.
HOT6 = '?'.
ENDIF.
ELSE.
HOT5 = '?'.
ENDIF.
IF HOT5 = SPACE.
IF HOT6 = SPACE.
IF HOT7 = SPACE.
IF SPOC-ICON_SEL = 1.
WRITE AT LPOS(4) ICON_ID1 AS ICON.
write at lpos icon_id1 as icon no-gap.
ELSE.
WRITE AT LPOS(4) ICON_ID2 AS ICON.
write at lpos icon_id2 as icon no-gap.
ENDIF.
COLS = 4.
BYTES = 7.
ELSE.
IF SPOC-ICON_SEL = 1.
WRITE AT LPOS(3) ICON_ID1 AS ICON.
write at lpos icon_id1 as icon no-gap.
ELSE.
WRITE AT LPOS(3) ICON_ID2 AS ICON.
write at lpos icon_id2 as icon no-gap.
ENDIF.
COLS = 3.
BYTES = 6.
ENDIF.
ELSE.
IF SPOC-ICON_SEL = 1.
WRITE AT LPOS(2) ICON_ID1 AS ICON.
write at lpos icon_id1 as icon no-gap.
ELSE.
WRITE AT LPOS(2) ICON_ID2 AS ICON.
write at lpos icon_id2 as icon no-gap.
ENDIF.
COLS = 2.
BYTES = 5.
ENDIF.
ELSE.
"rite at lpos(1) icon_id as icon.
WRITE AT LPOS(1) '#' NO-GAP. " Not enough space for any icon.
COLS = 1.
BYTES = 4.
ENDIF.
ENDIF.
IF <HOT_PRTCTRL> = <SPOC_PRTCTRL>.
COLS = 0. " in most cases.
BYTES = 6. " in most cases.
IF REST_LEN >= SPOC-PRTCTRL_TOTAL_LENGTH.
THE_PRTCTRL = <LDATA>+SPOC-PRTCTRL_START_LENGTH(5).
IF THE_PRTCTRL = 'SABLD'.
FORMAT INTENSIFIED ON.
"no 3.0 'SAULN'.
"no 3.0 FORMAT UNDERSCORED ON.
ELSEIF THE_PRTCTRL = 'SAOFF'.
FORMAT INTENSIFIED OFF.
"no 3.0 FORMAT UNDERSCORED OFF.
ELSEIF THE_PRTCTRL(3) = 'COL'.
CASE THE_PRTCTRL+3(1).
WHEN '0'.
FORMAT COLOR OFF.
WHEN '1'.
FORMAT COLOR 1.
WHEN '2'.
FORMAT COLOR 2.
WHEN '3'.
FORMAT COLOR 3.
WHEN '4'.
FORMAT COLOR 4.
WHEN '5'.
FORMAT COLOR 5.
WHEN '6'.
FORMAT COLOR 6.
WHEN '7'.
FORMAT COLOR 7.
ENDCASE.
CASE THE_PRTCTRL+4(1).
WHEN 'N'.
FORMAT INTENSIFIED OFF INVERSE OFF.
WHEN 'H'.
FORMAT INTENSIFIED ON INVERSE OFF.
WHEN 'V'.
FORMAT INTENSIFIED ON INVERSE ON.
ENDCASE.
ENDIF. "printcontrol
ELSE. "??
ENDIF.
ENDIF.
IF BYTES = 0.
BYTES = 1.
WRITE AT LPOS(1) '#'.
COLS = 1.
ENDIF.
ADD COLS TO LPOS.
SUBTRACT BYTES FROM REST_LEN.
IF REST_LEN > 0.
ASSIGN <LDATA>+BYTES(REST_LEN) TO <LDATA>.
ELSE.
EXIT.
ENDIF.
ENDWHILE.
MODAB
IF REST_LEN > 0.
ASSIGN <LDATA>(REST_LEN) TO <PLAIN_TEXT>.
PERFORM WRITE_BIGFIELD USING <PLAIN_TEXT>
REST_LEN
LPOS.
ENDIF.
ENDFORM.
FORM WRITE_BIGFIELD USING VALUE(FIELD) TYPE C
VALUE(LEN)
VALUE(POS).
FIELD-SYMBOLS <P>.
DATA: CHUNK TYPE I.
WHILE LEN > 0.
IF LEN > 255.
CHUNK = 255.
ELSE.
CHUNK = LEN.
ENDIF.
WRITE AT POS FIELD(CHUNK) NO-GAP.
ADD CHUNK TO POS.
LEN = LEN - CHUNK.
IF LEN > 0.
FIELD = FIELD+CHUNK.
ENDIF.
ENDWHILE.
ENDFORM.
FORM SPOOLDATA_WRITE_INIT.
DATA: BEGIN OF ESCAPE_TRICK
, X1(1) TYPE X
, END OF ESCAPE_TRICK
FIELD-SYMBOLS: <LDATA>
, <PLAIN_TEXT>
, <PRTCTRL>
ESCAPE_TRICK-X1 = '1C'.
SPOC-PRTCTRL_START = ESCAPE_TRICK.
SPOC-PRTCTRL_START_LENGTH = 1.
SPOC-PRTCTRL_TOTAL_LENGTH = SPOC-PRTCTRL_START_LENGTH + 5.
ASSIGN SPOC-PRTCTRL_START(SPOC-PRTCTRL_START_LENGTH) TO <SPOC_PRTCTRL>.
ESCAPE_TRICK-X1 = '1B'.
SPOC-FRAME_START = ESCAPE_TRICK.
SPOC-FRAME_START_LENGTH = 1.
ASSIGN SPOC-FRAME_START(SPOC-FRAME_START_LENGTH) TO <SPOC_FRAME>.
ESCAPE_TRICK-X1 = '1B'.
SPOC-ICON_START = ESCAPE_TRICK.
SPOC-ICON_START+1 = ','.
SPOC-ICON_START_LENGTH = 2.
ASSIGN SPOC-ICON_START(SPOC-ICON_START_LENGTH) TO <SPOC_ICON>.
ESCAPE_TRICK-X1 = '1B'.
SPOC-SYMBOL_LOW_START = ESCAPE_TRICK.
SPOC-SYMBOL_LOW_START+1 = '('.
SPOC-SYMBOL_HGH_START = ESCAPE_TRICK.
SPOC-SYMBOL_HGH_START+1 = ')'.
SPOC-SYMBOL_START_LENGTH = 2.
ASSIGN SPOC-SYMBOL_LOW_START(SPOC-SYMBOL_START_LENGTH)
TO <SPOC_SYMBOL_LOW>.
ASSIGN SPOC-SYMBOL_HGH_START(SPOC-SYMBOL_START_LENGTH)
TO <SPOC_SYMBOL_HGH>.
SPOC-FIRST_BYTES+0(1) = SPOC-PRTCTRL_START(1).
SPOC-FIRST_BYTES+1(1) = SPOC-FRAME_START(1).
SPOC-FIRST_BYTES+2(1) = SPOC-ICON_START(1).
SPOC-FIRST_BYTES+3(1) = SPOC-SYMBOL_LOW_START(1).
ENDFORM.
Maybe you are looking for
-
Vkoa GL changes during in process sale order
Dear sapient As per our client requirement GL account in VKOA for KOFK(Make to order scenario) needs to be changed. I would like know the impact of GL account determination on open sale order ,partial sale order, because system has already derived
-
After macbook air and macbook pro backup on tc wifi is very slow
I have been great with my macbook air and the time capsule. Everything was working perfect til I just got a macbook pro, I just did a backup and now the wifi is down to 0.02mbps. The weird issue: if I turn off the pro, the wifi goes back to 6mbps. An
-
前几天好不容易安装完了SAP NW 7.01 ABAP TRIAL Version.今天在上面做一个WebDynpro的例子程序,开始都很顺利,就是到了最后IE浏览的时候出错了. 网页页面信息如下: Service cannot be reached What has happened? URL http://sapnw:8000/sap/bc/webdynpro/sap/z_tutorial1 call was terminated because the corresponding serv
-
My iMovie is missing from Applications.
Hey there! My iMovie is missing from my Applications. I have tried to find it using spotlight and all that comes up are the iMovie files, not the application itself. I went into my purchases in the Mac App Store and it says that iMovie is installed o
-
"project appears to be damaged and cannot be opened" message
What is causing my recent projects to not re-open? And what causes this "project appears to be damaged and cannot be opened" issue?