READ_TEXT problem
Hi,
Iam working with QM02 transaction and having some fields and one of them having very long text.
Iam using READ_TEXT function to get long text from QM02 transaction and my program is working fine.
But if the LONG TEXT FIELD is empty the function module is througing error.How to overcome this.Here is the code.
This is from QM module.
DATA:F_TDOBJECT LIKE THEAD-TDOBJECT,
F_TDNAME LIKE THEAD-TDNAME,
F_TDID LIKE THEAD-TDID,
ITAB_LINES LIKE tline OCCURS 0 WITH HEADER LINE.
LOOP AT T_DET.
F_TDID = 'LTQM'. " long description
F_TDNAME = T_DET-QMNUM. " this is to get number
F_TDOBJECT = 'QMEL'. " this is the table
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = F_TDID
LANGUAGE = SY-LANGU
NAME = F_TDNAME
OBJECT = F_TDOBJECT
TABLES
LINES = ITAB_LINES.
*collecting long text into ITAB.
DESCRIBE TABLE ITAB_LINES LINES SY-TFILL.
IF SY-TFILL > 0.
LOOP AT ITAB_LINES.
ITAB-QMNUM = T_DET-QMNUM.
ITAB-DESC = ITAB_LINES-TDLINE.
APPEND ITAB.
CLEAR ITAB.
ENDLOOP.
ENDIF.
ENDLOOP.
Hi Kaki,
1. Ideally, this FM does not give error
if the long text is empty.
2. However, to avoid error and to detect
what error it is ,
call the FM
using EXCEPTIONS
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
3. Using exceptions will not give short dump.
4. Moreover, we can check the value of sy-subrc
to detect what kind of error occurred.
May be its some other kind of error.
Regards,
Amit M.
Similar Messages
-
PROBLEM IN PRINTING TEXT .
Hi
Good morning to all .
i am making a classical report in which i want to print in A4 size paper
here i want to print purchase requisition text like header text ,item text
i am using FM READ_TEXT
PROBLEM IS THAT .
THE OUT PUT COMES LIKE THIS
ABAPERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
AFTER ONE LINE I AM NOT GETTING TEXT IN SECOND LINE
PLEASE HELP ME .
REGARDS
RAKESH SINGHHi,
see below coding...
MOVE : VBRK-VBELN TO NAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0002'
LANGUAGE = SY-LANGU
NAME = NAME
OBJECT = 'VBBK'
ARCHIVE_HANDLE = 0
IMPORTING
HEADER =
TABLES
LINES = TLINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT TLINES.
WRITE:/ NAME , TLINES-TDLINE.
ENDLOOP.
hope it will help... -
PROBLEM FOR READ_TEXT in report
Hi,
I am reading texts using READ_TEXT in report. Here the problem is if the PO text doesn't contains any text(value) then my report is not showing the output and if text contains value it's showing me output.
where is the problem?
Thanks in Advance.
Regards.
Sam.Hi ,
I have a similar requirement to get the Header text data of a PO . I am using READ_TEXT by passing parameters. but the FM does not return any out put.Can youplease tel me the procedure you followed?
Thank you,
Lakshmi. -
Problem while using read_text fm
Hi,
iam having one problem if i call read_text fm
only one line is coming in the output.
eg: material(Text)
plant (Text)
my progaram write only one line ie. material i want to consider f all the line in single line.
opt should be: materialplant.
please correct this code
loop at t_mara.
*CONCATENATE t_mara-matnr t_mara-dwerks INTO TeMP IN CHARACTER MODE.
temp = t_mara-matnr .
temp+19(4) = t_mara-dwerks .
WRK_NAME = temp.
*WRITE: / temp..
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'LTXT'
LANGUAGE = SY-LANGU
NAME = WRK_NAME
OBJECT = 'MDTXT'
IMPORTING
HEADER =
TABLES
LINES = IT_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS .
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
READ TABLE IT_LINES INDEX 1.
TXT_TD03 = IT_LINES-TDLINE.
MOVE TXT_TD03 TO T_MARA-TEXT.
MODIFY T_MARA.
ENDIF.hai
DATA wa_it_lines LIKE TLINE.
DATA WRK_NAME LIKE THEAD-TDNAME.
data TXT_TD03 (70).
CONCATENATE W_IT_NUMBER W_IT_DE_NUMBER INTO W_NUMBER.
*Get the dETAIL NUMBER
call function 'READ_TEXT'
exporting
id = 'LTXT'
language = sy-langu
name = WRK_NAME
object = 'MDTXT'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
tables
lines = it_lines
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.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
read table it_lines index 1 into wa_it_lines .
*GET THE NUMBER BY
TXT_TD03 = IT_LINES-TDLINE.
MOVE TXT_TD03 TO T_MARA-TEXT.
MODIFY T_MARA.
do it like this
regard
nawa -
READ_TEXT: format problem when printing to PDF
Hello everybody,
I am using READ_TEXT function module to get long text then display to PDF format.
I met a problem with format as following:
The long text has bold format, for e.g.: This is bold text.
The READ_TEXT FM will then read the data as: <H>This is bold text.</>
When output to PDF instead of display as This is bold text., it is displaying <H>This is bold text.</>
Please suggest me how to fix this.
Thanks,
KhanhHi Khanh ,
Below is the sample code for your reference .
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'ZG01'
LANGUAGE = 'EN'
NAME = TH_INDATA_F01-VBELN_A
OBJECT = 'VBBK'
IMPORTING
HEADER =
TABLES
LINES = TD_LINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
Here lines = td_line refers to Lines of text read
The table contains all text lines belonging to a text module. The line structure is defined in table TLINE. The line contents are stored in ITF format.
Hope this helps you .
Regards ,
Navya . -
Problem in using FM READ_TEXT to read Material Sales Text.
Hi Guys,
I am developing a Customer Outstanding report in which I display all the invoices of a particular customer.
I need to read "Material Sales Text" which comes under "Item Text" tab in transaction FBL5N.
I have used READ_TEXT in my program. I have identified the Object, and ID but I am stuck up with the Name. I dont know what Name to pass. I have tried passing the Invoice Number in "Name" but couldnt get the text.
Request you to please help me out. Please check the below code.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
id = '0001'
language = SY-LANGU
name = -
object = 'VBBP'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
tables
lines = tl001
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OTHERS = 8
Thanks.*& Form READ_TEXT
FORM read_text USING p_tdid p_tdname
CHANGING p_tdline.
DATA: it_line TYPE STANDARD TABLE OF tline,
wa_line TYPE tline ,
l_tdid TYPE thead-tdid,
l_tdname TYPE thead-tdname.
l_tdid = p_tdid.
l_tdname = p_tdname.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = l_tdid
language = 'E'
name = l_tdname
object = 'VBBP'
TABLES
lines = it_line
EXCEPTIONS
OTHERS = 8.
LOOP AT it_line INTO wa_line.
IF NOT wa_line-tdline IS INITIAL.
p_tdline = wa_line-tdline.
ENDIF.
ENDLOOP.
ENDFORM. " READ_TEXT -
Problem in read_text function
Hi all,
I want to read multiple rows by read_text functions but it shows me single row only.
Plz help me how to read multiple rows ..>
ankita patel wrote:
> Hi kartik...
> I am using this code because I want to modify my internal table field..
>
> If i am not using it , only blank value store in internal table.
>
>
> IF NOT I_TAB-NO_OF_BOX IS INITIAL.
>
> exit.
> ENDIF.
Hi ankita,
See.
What ur code is currently doing is reading one line then
checking this condition
IF NOT I_TAB-NO_OF_BOX IS INITIAL.
exit.
ENDIF.
Condition is true so it exits.
So its not reading other lines.
do like this
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'B01'
language = sy-langu
name = name
object = 'EBAN'
TABLES
lines = lt_text.
if sy-subrc = 0. " This is important
loop at lt_text.
concatenate i_TAB-NO_OF_BOX lt_text-TDLINE to i_TAB-NO_OF_BOX.
endloop.
endif.
MODIFY I_TAB. "here if u want u can put this check IF NOT I_TAB-NO_OF_BOX IS INITIAL. but i think its not required as now we are looping at lt_text only if sy-subrc is 0
кu03B1ятu03B9к -
Problem using Read_text
Hi,
I am using the Read_text in the following manner:
TYPES : BEGIN OF STR_VBRP,
VGBEL TYPE VBRP-VGBEL,
VGPOS TYPE VBRP-VGPOS,
END OF STR_VBRP.
DATA : IT_VBRP TYPE STANDARD TABLE OF STR_VBRP INITIAL SIZE 0,
WA_VBRP TYPE STR_VBRP.
DATA: ITAB_LINES LIKE TLINE OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'Z002'
LANGUAGE = SY-LANGU
NAME = WA_VBRP-VGBEL
OBJECT = 'VBBK'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = ITAB_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
And when I am running it I am getting the following dump:
The function module interface allows you to specify only
fields of a particular type under "NAME".
The field "WA_VBRP-VGBEL" specified here is a different
field type.
Please let me know how should I pass the data.
Regards,
AshutoshHi,
Try using sample code below:
TABLES: PBIM.
* stxh, stxl, stxb - trans tables for text
* ttxit - text on text-ids
* ttxot - Short texts on text objects
* Transaction MD63
SELECT-OPTIONS: S_MATNR FOR PBIM-MATNR,
S_WERKS FOR PBIM-WERKS.
DATA: BEGIN OF HTEXT.
INCLUDE STRUCTURE THEAD.
DATA: END OF HTEXT.
DATA: BEGIN OF LTEXT OCCURS 50.
INCLUDE STRUCTURE TLINE.
DATA: END OF LTEXT.
DATA: BEGIN OF DTEXT OCCURS 50.
DATA: MATNR LIKE PBIM-MATNR.
INCLUDE STRUCTURE TLINE.
DATA: END OF DTEXT.
DATA: TNAME LIKE THEAD-TDNAME.
SELECT * FROM PBIM WHERE WERKS IN S_WERKS.
MOVE PBIM-BDZEI TO TNAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'PB'
LANGUAGE = 'E'
NAME = TNAME
OBJECT = 'PBPT'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
MOVE LTEXT-TDLINE TO DTEXT-TDLINE.
MOVE PBIM-MATNR TO DTEXT-MATNR.
APPEND DTEXT.
ENDIF.
ENDLOOP.
ENDSELECT.
LOOP AT DTEXT.
WRITE:/ DTEXT-MATNR, DTEXT-TDLINE.
ENDLOOP.
Hope it helps
Regards
Mansi -
READ_TEXT showing problem in smart-forms
Hi All,
I am using the FM READ_TEXT in Smartforms.I have a text like M & M.When passed in the FM i get the output as M<(>&<)>M.
Symbol & is displayed as junk.
I debugged the FM and i can find it is getting converted at
if rt_header-tdtexttype is initial. "SAPscript format
import tline to rt_lines
from database stxl(tx)
client rt_client
id stxl_id
ACCEPTING TRUNCATION "important for Unicode
IGNORING CONVERSION ERRORS.
So please help me how to resolve this issue.I am using Arial font size 8.Hi Pravik,
Check with the font as you said you are using arial font.
Regards,
Sravanthi -
Hi....
I have an Interface which actually downloads the "MATERIAL MASTER DATA" from SAP to a flat file.
The current o/p of the interface looks like:
MAT NO. MAT DESCRIPTION Subst. Mat no......
Now they askd me to add 3 more fields to that existing program.
those are:
1.OUTSERT No.
2.MEDICATION PART No.
3.AWP PRICE.
So I have written 2 FORMS to retrieve these things.
1st FORM is for getting OUTSERT and MED. PART No.
2nd FORM for AWP PRICE.
(1) OUTSERT: This we get from STPO-IDNRK field. similarly
(2) MED. PART NO.: This also is from STPO-IDNRK field.
The method I used for getting these two things is:
Basically the OUTSERT and MED PART NO. is nothing but the BOM COMPONENTS [STPO-IDNRK].
There is a simple difference between these two things:
If the BOM Component contains 'O' or 'OP' in that value then it is taken as OUTSERT.
For Eg: If STPO-IDNRK value is 73543O or 98723OP then it is OUTSERT.
and If STPO-IDNRK value is 65489M or 68785MP then it is MED. PART NO.
and we have two conditions to be satisfied to calculate these two things,
1.The Material Group[MARA-MATKL] should be 'OST' or 'OSP'.
means MARA-MATKL = 'OST' or 'OSP'.
2.The Alternative BOM Text[STKO-STKTX] should be 'UNRESTRICTED'.
means STKO-STKTX = 'UNRESTRICTED'.
Coming to AWP PRICE, it should be get from field RATE[KONP-KBETR].
I have used tables STKO, STPO to get Outsert and Med. Part No and A505, KONP for AWP Price...
I have highlighted the part of the code which I have included in the existing program....
But there are some problems with that code...so i'm not getting results....
Plz look at the code and let me know wher I've gone wrong...
Thanks much,
The code is:
REPORT Z02.
Table definitions ----------------------------------------------------
TABLES: AUSP, " Characteristic Values
CABN, " Characteristic
CAWN, " Characteristic values
CAWNT, " Value Texts
LFA1, " Vendor master (general section)
MAKT, " Material Descriptions
MARA, " Material Master: General Data
MARM, " Units of Measure
MBEW, " Material Valuation
MVKE, " Material Master: Sales Data
TVMST, " Materials: SD Status: Texts
TVM3T, " Material pricing group 3: Description
TVM5T, " Material pricing group 5: Description
KOTD001, " Conditions: Substitution - Sample Structure
KONDD, " Material Substitution - Data Division
<b>mast,
stko,
stpo,
a505,
konp.</b>
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TITLE1.
SELECT-OPTIONS: S_BWKEY FOR MBEW-BWKEY
MEMORY ID DEFAULT_BWKEY OBLIGATORY
No-Extension No Intervals.
SELECTION-SCREEN END OF BLOCK B1.
PARAMETERS:
MATLFILE(100) LOWER CASE OBLIGATORY
DEFAULT '/sapinterface/ebusiness/matlfile'.
Constants ------------------------------------------------------------
CONSTANTS:
ZERO_DEC_3 TYPE P DECIMALS 3 VALUE 0,
ZEROS(9) TYPE N VALUE 0,
REC_TYPE(2) VALUE 'MM',
DELIMETER_QUOTE VALUE '"',
BEGIN OF DEFAULTS,
BWTAR LIKE MBEW-BWTAR VALUE SPACE,
VKORG LIKE MVKE-VKORG VALUE '1000',
VTWEG LIKE MVKE-VTWEG VALUE '10',
END OF DEFAULTS.
constants:
c_uncpath_material(43)
value '/sapinterface/unconverted/zvppo102_matlfile',
c_final_path(44)
value '/sapinterface/ebusiness/' ,
c_uncpath(26)
value '/sapinterface/unconverted/' .
Data Elements --------------------------------------------------------
DATA: PROGNAME LIKE SY-REPID,
PROG_START_DATE LIKE SY-DATUM,
PROG_START_TIME LIKE SY-UZEIT,
WRITE_COUNT TYPE I,
OUTFILE(100),
WK_STPRS LIKE MBEW-STPRS,
WK_AUSP LIKE AUSP,
WK_CABN LIKE CABN,
WK_MARA LIKE MARA,
WK_MARM LIKE MARM.
DATA: BEGIN OF MATERIAL_DATA occurs 0,
DELIMITER_START,
REC_TYPE LIKE REC_TYPE,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
SMATN LIKE KONDD-SMATN,
SMATN_START LIKE KOTD001-DATAB,
SMATN_END LIKE KOTD001-DATBI,
VMSTA LIKE MVKE-VMSTA,
VMSTB LIKE TVMST-VMSTB,
LAEDA LIKE MARA-LAEDA,
AENAM LIKE MARA-AENAM,
VENDOR_NUM LIKE MARA-MFRNR,
VENDOR_NM LIKE LFA1-NAME1,
PROD_LINE_CD LIKE MVKE-MVGR5,
PROD_LINE_DSC(20),
DEA_SCH_ID LIKE MVKE-MVGR3,
DEA_SCH_DSC(20),
NORMT LIKE MARA-NORMT,
STPRS(13),
LOGO_DESC(30),
PRESCRIPT_FLAG(1),
THER_CLASS(5),
THER_CLASS_DSC(30),
THER_SUB_CLASS(5),
THER_SUB_CLASS_DSC(30),
THER_EQUIV(2),
ITEM_PACKAGE_SIZE(10),
ITEM_PACKAGE_TYPE(2),
DOSAGE_FORM(3),
DOSAGE_FORM_DSC(30),
DOSE_ADMIN(3),
DOSE_ADMIN_DSC(30),
BOTTLE_SIZE(6),
BRAND_NAME(25),
BRAND_DISTR(20),
BRAND_COLOR(20),
BRAND_SHAPE(15),
ANDA_DATE LIKE SY-DATUM,
ANDA_NUMBER(9),
BIO_STUDY,
DESI_INDICATOR,
DRUG_TERM_DT LIKE SY-DATUM,
FDA_APPRV_DT LIKE SY-DATUM,
ITEM_REG_NM(30),
MARKET_DT LIKE SY-DATUM,
PRODUCT_COLOR(20),
PRODUCT_FLAVOR(15),
PRODUCT_SHAPE(15),
PRODUCT_STRENGTH(18),
MEINS LIKE MARA-MEINS,
BEGIN OF BASE_MEASURES,
WEIGHT(15), "* like mara-brgew
WT_UNIT LIKE MARA-GEWEI,
VOLUM(15), "* like mara-volum,
VOL_UNIT LIKE MARA-VOLEH,
PKG_LENGTH(15), "* like mara-laeng
PKG_WIDTH(15), "* like mara-breit
PKG_HEIGHT(15), "* like mara-hoehe
DIM_UNIT LIKE MARA-MEABM,
END OF BASE_MEASURES,
INR_CRTN_COUNT(6), "* like marm-umrez
INR_CRTN_MEASURES LIKE MATERIAL_DATA-BASE_MEASURES,
CASE_COUNT(6), "* like marm-umrez
CASE_MEASURES LIKE MATERIAL_DATA-BASE_MEASURES,
ITEM_NOTE(500),
DELIMITER_END,
<b>component like stpo-idnrk,
mguide like stpo-idnrk,
awp like konp-kbetr,</b>
END OF MATERIAL_DATA.
DATA : F_M_uncFILE(100) . " Material file(unconverted)
DATA: W_BRM(3) Value 'BRM'.
<b>data: str1(2) type c value 'O',
str2(2) type c value 'OP',
str3(2) type c value 'M',
str4(2) type c value 'MP'.</b>
<b>data: begin of i_material,
matnr like mara-matnr,
rate like konp-kbetr,
end of i_material.
data: begin of i_outsert occurs 0,
matnr like mara-matnr,
stktx like stko-stktx,
component like stpo-idnrk,
end of i_outsert.</b>
INITIALIZATION.
*--- Initialize text fields for selection screen.
TITLE1 = 'Set Default'.
SET PARAMETER ID 'DEFAULT_BWKEY' FIELD W_BRM.
START-OF-SELECTION.
PERFORM INITIAL_STUFF.
PERFORM MAIN_SELECT.
PERFORM WRAPUP.
Select all material master records for finished products.
FORM MAIN_SELECT.
SELECT MATNR
BISMT
LAEDA
AENAM
MEINS
BRGEW
GEWEI
VOLUM
VOLEH
LAENG
BREIT
HOEHE
MEABM
NORMT
INTO (MATERIAL_DATA-MATNR,
MATERIAL_DATA-SMATN,
MATERIAL_DATA-LAEDA,
MATERIAL_DATA-AENAM,
MATERIAL_DATA-MEINS,
WK_MARA-BRGEW,
MATERIAL_DATA-BASE_MEASURES-WT_UNIT,
WK_MARA-VOLUM,
MATERIAL_DATA-BASE_MEASURES-VOL_UNIT,
WK_MARA-LAENG,
WK_MARA-BREIT,
WK_MARA-HOEHE,
MATERIAL_DATA-BASE_MEASURES-DIM_UNIT,
MATERIAL_DATA-NORMT)
FROM MARA
WHERE MTART = 'FERT' "* Finished product
OR MTART = 'HAWA'
ORDER BY MATNR.
Assign default values for fields which may not be available.
PERFORM ASSIGN_DEFAULTS.
Get related data from other tables.
PERFORM GET_MATERIAL_DESCRIPTION.
PERFORM GET_STANDARD_PRICE.
PERFORM GET_MVKE.
PERFORM GET_MARM.
PERFORM GET_AUSP.
PERFORM GET_SUBSTITUTE_MATNR.
PERFORM GET_BASIC_DATA_TEXT.
PERFORM GET_VENDOR_NAME.
<b>perform get_outsert.
perform get_awp.</b>
SEARCH MATERIAL_DATA FOR '"'.
IF SY-SUBRC = 0.
REPLACE '"' WITH ' ' INTO MATERIAL_DATA.
ENDIF.
MATERIAL_DATA-DELIMITER_START = DELIMETER_QUOTE.
MATERIAL_DATA-DELIMITER_END = DELIMETER_QUOTE.
Write output record.
ADD 1 TO WRITE_COUNT.
TRANSFER MATERIAL_DATA TO F_M_UNCFILE .
Reinitialize work variables.
CLEAR: MATERIAL_DATA,
WK_STPRS,
WK_AUSP,
WK_CABN,
WK_MARA,
WK_MARM.
ENDSELECT.
ENDFORM. " main_select
Assign numeric fields to character fields for output.
FORM ASSIGN_DEFAULTS.
MATERIAL_DATA-REC_TYPE = REC_TYPE.
MATERIAL_DATA-BASE_MEASURES-WEIGHT = WK_MARA-BRGEW.
MATERIAL_DATA-BASE_MEASURES-VOLUM = WK_MARA-VOLUM.
MATERIAL_DATA-BASE_MEASURES-PKG_LENGTH = WK_MARA-LAENG.
MATERIAL_DATA-BASE_MEASURES-PKG_WIDTH = WK_MARA-BREIT.
MATERIAL_DATA-BASE_MEASURES-PKG_HEIGHT = WK_MARA-HOEHE.
Set character fields to 0 in case not found on DB.
MATERIAL_DATA-ANDA_NUMBER = ZEROS. "* ???
MATERIAL_DATA-ITEM_PACKAGE_SIZE = 0.
MATERIAL_DATA-INR_CRTN_COUNT = 0.
MATERIAL_DATA-CASE_COUNT = 0.
MATERIAL_DATA-INR_CRTN_MEASURES-WEIGHT = ZERO_DEC_3.
MATERIAL_DATA-INR_CRTN_MEASURES-VOLUM = ZERO_DEC_3.
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_LENGTH = ZERO_DEC_3.
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_WIDTH = ZERO_DEC_3.
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_HEIGHT = ZERO_DEC_3.
MOVE-CORRESPONDING MATERIAL_DATA-INR_CRTN_MEASURES
TO MATERIAL_DATA-CASE_MEASURES.
ENDFORM. " assign_defaults
FORM GET_VENDOR_NAME.
SELECT SINGLE NAME1
INTO MATERIAL_DATA-VENDOR_NM
FROM LFA1
WHERE LIFNR = MATERIAL_DATA-VENDOR_NUM.
ENDFORM. " get_vendor_name
FORM GET_OUTSERT *
<b>form get_outsert.
select matnr from mara into corresponding fields of table material_data
where mtart = 'FERT' or mtart = 'HAWA'.
select didnrk amatnr
into (i_outsert-component, i_outsert-matnr)
from stpo as d
inner join stko as c
on dstlnr = cstlnr
inner join mast as b
on cstlnr = bstlnr
inner join mara as a
on bmatnr = amatnr
for all entries IN material_data
where a~matnr = material_data-matnr.
append i_outsert.
endselect.
check i_outsert-stktx = 'UNRESTRICTED'.
if ( i_outsert-component cs str1 ) or ( i_outsert-component cs str2 ).
move i_outsert-component to material_data-component.
append material_data.
elseif ( i_outsert-component cs str3 ) or
( i_outsert-component cs str4 ).
move i_outsert-component to material_data-mguide.
append material_data.
endif.
modify material_data transporting component
where matnr = i_outsert-matnr.
endform. "get_outsert</b>
FORM GET_AWP *
<b>form get_awp.
select matnr from mara into corresponding fields of table material_data
where mtart = 'FERT' or mtart = 'HAWA'.
select bmatnr ckbetr into (i_material-matnr, i_material-rate)
from konp as c
inner join a505 as b
on cknumh = bknumh
inner join mara as a
on bmatnr = amatnr
for all entries IN material_data
where a~matnr = material_data-matnr
and b~kappl = 'V'
and b~kschl = 'ZR10'
and b~vkorg = '1000'
and b~pltyp = '01'
and b~datbi > sy-datum
and b~datab < sy-datum.
append i_material.
endselect.
move i_material-rate to material_data-awp.
append material_data.
modify material_data transporting awp
where matnr = i_material-matnr.
endform. "get_awp</b>
FORM GET_MATERIAL_DESCRIPTION.
SELECT SINGLE MAKTX
INTO MATERIAL_DATA-MAKTX
FROM MAKT
WHERE MATNR = MATERIAL_DATA-MATNR
AND SPRAS = SY-LANGU.
ENDFORM. " get_material_description
FORM GET_STANDARD_PRICE.
data: l_vprsv like mbew-vprsv,
l_verpr like mbew-verpr.
clear: l_Vprsv, l_verpr.
SELECT SINGLE VPRSV VERPR stprs
into (l_vprsv, l_verpr, WK_stprs)
FROM MBEW
WHERE MATNR = MATERIAL_DATA-MATNR
AND BWKEY IN S_BWKEY
AND BWTAR = DEFAULTS-BWTAR.
the need to change the assumption
that standard price is housed in MBEW-STPRS. This does not apply to
plant US18, so need to check to see what the price control field is
(MBEW-VPRSV) and if it is S, use standard price, if it is V, use the
moving average price.
IF L_VPRSV = 'V'.
WK_STPRS = L_VERPR.
ENDIF.
MATERIAL_DATA-STPRS = WK_STPRS.
ENDFORM. " get_standard_price
FORM GET_MVKE.
SELECT SINGLE MVGR3
VMSTA
MVGR5
INTO (MATERIAL_DATA-DEA_SCH_ID,
MATERIAL_DATA-VMSTA,
MATERIAL_DATA-PROD_LINE_CD)
FROM MVKE
WHERE MATNR = MATERIAL_DATA-MATNR
AND VKORG = DEFAULTS-VKORG
AND VTWEG = DEFAULTS-VTWEG.
IF SY-SUBRC = 0.
PERFORM GET_DEA_ID_DSC.
PERFORM GET_PROD_LINE_DSC.
PERFORM GET_VMSTB.
ENDIF.
ENDFORM. " get_mvke
FORM GET_DEA_ID_DSC.
SELECT SINGLE BEZEI
INTO MATERIAL_DATA-DEA_SCH_DSC
FROM TVM3T
WHERE SPRAS = SY-LANGU
AND MVGR3 = MATERIAL_DATA-DEA_SCH_ID.
ENDFORM. " get_dea_id_dsc
FORM GET_PROD_LINE_DSC.
SELECT SINGLE BEZEI
INTO MATERIAL_DATA-PROD_LINE_DSC
FROM TVM5T
WHERE SPRAS = SY-LANGU
AND MVGR5 = MATERIAL_DATA-PROD_LINE_CD.
ENDFORM. " form get_prod_line_dsc
FORM GET_VMSTB.
SELECT SINGLE VMSTB
INTO MATERIAL_DATA-VMSTB
FROM TVMST
WHERE SPRAS = SY-LANGU
AND VMSTA = MATERIAL_DATA-VMSTA.
ENDFORM. " form get_vmstb
Get measurements, etc. for inner carton and case from the MARM table.
FORM GET_MARM.
SELECT MEINH " alternative unit of measure for stockkeeping unit
UMREZ " numerator for conversion to base units of measure
LAENG " length
BREIT " width
HOEHE " height
MEABM " unit of dimension for length/width/height
VOLUM " volume
VOLEH " volume unit
BRGEW " gross weight
GEWEI " unit of weight
INTO (WK_MARM-MEINH,
WK_MARM-UMREZ,
WK_MARM-LAENG,
WK_MARM-BREIT,
WK_MARM-HOEHE,
WK_MARM-MEABM,
WK_MARM-VOLUM,
WK_MARM-VOLEH,
WK_MARM-BRGEW,
WK_MARM-GEWEI)
FROM MARM
WHERE MATNR = MATERIAL_DATA-MATNR
AND MEINH IN ('CS', 'PAK').
PERFORM EVALUATE_MEINH.
CLEAR WK_MARM.
ENDSELECT.
ENDFORM. " get_marm
Populate output record fields based on alternative unit of measure.
FORM EVALUATE_MEINH.
CASE WK_MARM-MEINH.
WHEN 'CS'.
MATERIAL_DATA-CASE_COUNT = WK_MARM-UMREZ.
MATERIAL_DATA-CASE_MEASURES-WEIGHT = WK_MARM-BRGEW.
MATERIAL_DATA-CASE_MEASURES-WT_UNIT = WK_MARM-GEWEI.
MATERIAL_DATA-CASE_MEASURES-VOLUM = WK_MARM-VOLUM.
MATERIAL_DATA-CASE_MEASURES-VOL_UNIT = WK_MARM-VOLEH.
MATERIAL_DATA-CASE_MEASURES-PKG_LENGTH = WK_MARM-LAENG.
MATERIAL_DATA-CASE_MEASURES-PKG_WIDTH = WK_MARM-BREIT.
MATERIAL_DATA-CASE_MEASURES-PKG_HEIGHT = WK_MARM-HOEHE.
MATERIAL_DATA-CASE_MEASURES-DIM_UNIT = WK_MARM-MEABM.
WHEN 'PAK'.
MATERIAL_DATA-INR_CRTN_COUNT = WK_MARM-UMREZ.
MATERIAL_DATA-INR_CRTN_MEASURES-WEIGHT = WK_MARM-BRGEW.
MATERIAL_DATA-INR_CRTN_MEASURES-WT_UNIT = WK_MARM-GEWEI.
MATERIAL_DATA-INR_CRTN_MEASURES-VOLUM = WK_MARM-VOLUM.
MATERIAL_DATA-INR_CRTN_MEASURES-VOL_UNIT = WK_MARM-VOLEH.
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_LENGTH = WK_MARM-LAENG.
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_WIDTH = WK_MARM-BREIT.
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_HEIGHT = WK_MARM-HOEHE.
MATERIAL_DATA-INR_CRTN_MEASURES-DIM_UNIT = WK_MARM-MEABM.
ENDCASE.
ENDFORM. " evaluate_meinh
Get characterics from the AUSP & CABN tables.
FORM GET_AUSP.
*--- Get object number for classification lookup.
data: l_objek like ausp-objek.
clear l_objek.
select cuobj into l_objek from inob up to 1 rows
where klart = '001'
and obtab = 'MARA'
and objek = material_data-matnr.
endselect.
SELECT A~ATINN " internal characteristic
A~ATWRT " characteristic value
A~ATAWE " unit of measurement
A~ATAW1 " unit of measurement
A~ATFLV " internal floating point from (value if date)
C~ATNAM " characteristic name
INTO (WK_AUSP-ATINN,
WK_AUSP-ATWRT,
WK_AUSP-ATAWE,
WK_AUSP-ATAW1,
WK_AUSP-ATFLV,
WK_CABN-ATNAM)
FROM AUSP AS A INNER JOIN
CABN AS C ON AATINN = CATINN
where a~objek = l_objek
AND C~ATNAM LIKE 'MM_%'
AND A~LKENZ = SPACE.
PERFORM EVALUATE_CHARACTERISTIC.
ENDSELECT.
ENDFORM. " get_ausp
Populate output record fields based on characteristic type.
FORM EVALUATE_CHARACTERISTIC.
DATA: SIZE_TEMP TYPE I.
CASE WK_CABN-ATNAM.
when 'MM_BOTTLE_SIZE'.
MATERIAL_DATA-BOTTLE_SIZE = WK_AUSP-ATWRT.
when 'MM_BRAND_COLOR'.
MATERIAL_DATA-BRAND_COLOR = WK_AUSP-ATWRT.
WHEN 'MM_BRAND_DISTRIBUTOR'.
MATERIAL_DATA-BRAND_DISTR = WK_AUSP-ATWRT.
when 'MM_BRAND_NAME'.
MATERIAL_DATA-BRAND_NAME = WK_AUSP-ATWRT.
when 'MM_BRAND_SHAPE'.
MATERIAL_DATA-BRAND_SHAPE = WK_AUSP-ATWRT.
WHEN 'MM_DOSAGE_FORM'.
MATERIAL_DATA-DOSAGE_FORM = WK_AUSP-ATWRT.
PERFORM GET_CHARACTERISTIC_DSC
USING WK_AUSP-ATINN
WK_AUSP-ATWRT
CHANGING MATERIAL_DATA-DOSAGE_FORM_DSC.
when 'MM_DOSE_ADMINISTRATION'.
MATERIAL_DATA-DOSE_ADMIN = WK_AUSP-ATWRT.
PERFORM GET_CHARACTERISTIC_DSC
USING WK_AUSP-ATINN
WK_AUSP-ATWRT
CHANGING MATERIAL_DATA-DOSE_ADMIN_DSC.
WHEN 'MM_ITEM_PACKAGE_SIZE'.
SIZE_TEMP = WK_AUSP-ATFLV.
MATERIAL_DATA-ITEM_PACKAGE_SIZE = SIZE_TEMP.
WHEN 'MM_ITEM_PACKAGE_TYPE'.
MATERIAL_DATA-ITEM_PACKAGE_TYPE = WK_AUSP-ATWRT.
when 'MM_LOGO_DESC'.
MATERIAL_DATA-LOGO_DESC = WK_AUSP-ATWRT.
when 'MM_PRESCRIPTION_FLAG'.
MATERIAL_DATA-PRESCRIPT_FLAG = WK_AUSP-ATWRT.
when 'MM_THERAPEUTIC_CLASS'.
MATERIAL_DATA-THER_CLASS = WK_AUSP-ATWRT.
PERFORM GET_CHARACTERISTIC_DSC
USING WK_AUSP-ATINN
WK_AUSP-ATWRT
CHANGING MATERIAL_DATA-THER_CLASS_DSC.
when 'MM_THERAPEUTIC_SUB_CLASS'.
MATERIAL_DATA-THER_SUB_CLASS = WK_AUSP-ATWRT.
PERFORM GET_CHARACTERISTIC_DSC
USING WK_AUSP-ATINN
WK_AUSP-ATWRT
CHANGING MATERIAL_DATA-THER_SUB_CLASS_DSC.
WHEN 'MM_THERAPEUTIC_RATING'.
MATERIAL_DATA-THER_EQUIV = WK_AUSP-ATWRT.
when 'MM_ANDA_DATE'.
PERFORM CONVERT_TO_DATE USING WK_AUSP-ATFLV
CHANGING MATERIAL_DATA-ANDA_DATE.
when 'MM_ANDA_NUMBER'.
MATERIAL_DATA-ANDA_NUMBER = WK_AUSP-ATWRT.
when 'MM_BIO_STUDY'.
MATERIAL_DATA-BIO_STUDY = WK_AUSP-ATWRT.
when 'MM_DESI_INDICATOR'.
MATERIAL_DATA-DESI_INDICATOR = WK_AUSP-ATWRT.
when 'MM_DRUG_TERMINATION_DATE'.
PERFORM CONVERT_TO_DATE USING WK_AUSP-ATFLV
CHANGING MATERIAL_DATA-DRUG_TERM_DT.
when 'MM_FDA_APPROVAL_DATE'.
PERFORM CONVERT_TO_DATE USING WK_AUSP-ATFLV
CHANGING MATERIAL_DATA-FDA_APPRV_DT.
when 'MM_ITEM_REGULATORY_NAME'.
MATERIAL_DATA-ITEM_REG_NM = WK_AUSP-ATWRT.
when 'MM_MARKET_DATE'.
PERFORM CONVERT_TO_DATE USING WK_AUSP-ATFLV
CHANGING MATERIAL_DATA-MARKET_DT.
when 'MM_PRODUCT_COLOR'.
MATERIAL_DATA-PRODUCT_COLOR = WK_AUSP-ATWRT.
when 'MM_PRODUCT_FLAVOR'.
MATERIAL_DATA-PRODUCT_FLAVOR = WK_AUSP-ATWRT.
when 'MM_PRODUCT_SHAPE'.
MATERIAL_DATA-PRODUCT_SHAPE = WK_AUSP-ATWRT.
when 'MM_PRODUCT_STRENGTH'.
MATERIAL_DATA-PRODUCT_STRENGTH = WK_AUSP-ATWRT.
WHEN 'MM_VENDOR'.
MATERIAL_DATA-VENDOR_NUM = WK_AUSP-ATWRT.
ENDCASE.
CLEAR SIZE_TEMP.
ENDFORM. " evaluate_characteristic
Get descriptive text from CAWN & CAWNT for characteristics.
FORM GET_CHARACTERISTIC_DSC USING PARM_ATINN
PARM_ATWRT
CHANGING PARM_DSC_TEXT.
CLEAR PARM_DSC_TEXT.
SELECT SINGLE ATWTB
INTO PARM_DSC_TEXT
FROM CAWN AS C1 INNER JOIN
CAWNT AS C2 ON C1ATINN = C2ATINN
AND C1ATZHL = C2ATZHL
WHERE C1~ATINN = PARM_ATINN
AND C1~ATWRT = PARM_ATWRT
AND C2~SPRAS = SY-LANGU
AND C2~ADZHL = 0.
ENDFORM. " get_characteristic_dsc
Call function CTCV_CONVERT_FLOAT_TO_DATE to convert floating point
number to a date in yyyymmdd format.
form convert_to_date using date
changing conv_date.
clear conv_date.
data: wrk_date(30) type c."Format YYYYMMDD changing it to MMDDYYYY
call function 'CTCV_CONVERT_FLOAT_TO_DATE'
EXPORTING
float = date
IMPORTING
date = wrk_date
EXCEPTIONS
others = 1.
CONV_DATE = WRK_DATE.
ENDFORM. " convert_to_date
Get substitute material number.
FORM GET_SUBSTITUTE_MATNR.
SELECT SINGLE SMATN
DATAB
DATBI
INTO (MATERIAL_DATA-SMATN,
MATERIAL_DATA-SMATN_START,
MATERIAL_DATA-SMATN_END)
FROM KOTD001 INNER JOIN
KONDD ON KOTD001~KNUMH = KONDD~KNUMH
WHERE KAPPL = 'V' "* Sales/Distribution
AND KSCHL = 'A001' "* Material Entered
AND MATWA = MATERIAL_DATA-MATNR
AND DATBI >= SY-DATUM
AND DATAB <= SY-DATUM
AND SUGRD = SPACE.
ENDFORM. " get_substitute_matnr.
Get basic data text for material item note.
If this is longer than 500 bytes, it will be truncated at 500.
FORM GET_BASIC_DATA_TEXT.
DATA: BEGIN OF TEXT_HEADER.
INCLUDE STRUCTURE THEAD. "* SAPscript: Text Header
DATA: END OF TEXT_HEADER.
DATA: BEGIN OF TEXT_LINES OCCURS 100.
INCLUDE STRUCTURE TLINE. "* SAPscript: text lines
DATA: END OF TEXT_LINES.
DATA: ITEM_NOTE_LENGTH TYPE I.
Set up text header for call to READ_TEXT.
TEXT_HEADER-TDOBJECT = 'MATERIAL'.
TEXT_HEADER-TDNAME = MATERIAL_DATA-MATNR.
TEXT_HEADER-TDID = 'GRUN'. "* Basic data text
TEXT_HEADER-TDSPRAS = SY-LANGU.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = TEXT_HEADER-TDID
LANGUAGE = TEXT_HEADER-TDSPRAS
NAME = TEXT_HEADER-TDNAME
OBJECT = TEXT_HEADER-TDOBJECT
ARCHIVE_HANDLE = 0
IMPORTING
HEADER =
TABLES
LINES = TEXT_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
CASE SY-SUBRC.
WHEN 0.
LOOP AT TEXT_LINES.
IF SY-TABIX = 1.
MATERIAL_DATA-ITEM_NOTE = TEXT_LINES-TDLINE.
ELSE.
Pass up to 500 bytes to Siebel.
ITEM_NOTE_LENGTH = STRLEN( MATERIAL_DATA-ITEM_NOTE ).
IF ITEM_NOTE_LENGTH > 498.
EXIT.
ELSE.
CONCATENATE MATERIAL_DATA-ITEM_NOTE
TEXT_LINES-TDLINE
INTO MATERIAL_DATA-ITEM_NOTE
SEPARATED BY SPACE.
ENDIF.
ENDIF.
ENDLOOP.
WHEN 4.
Not found; this is normal if no text was entered.
WHEN OTHERS.
MESSAGE E000(38) WITH 'Bad call to function READ_TEXT'.
ENDCASE.
ENDFORM. " get_substitute_matnr
Open files, set initial conditions, etc.
FORM INITIAL_STUFF.
data : w_length type i .
PROGNAME = SY-REPID.
WRITE: / 'Program: ', PROGNAME.
WRITE: / 'Execution start date: ', SY-DATUM.
WRITE: / 'Execution start time: ', SY-UZEIT.
WRITE: / .
CALL FUNCTION 'Z_SET_INTERFACE_FILENAME'
EXPORTING
INTERFACE_NAME = MATLFILE
DATE_TIME_SW = 'X'
EXTENSION_TYPE = 'txt'
IMPORTING
PATHNAME = OUTFILE
EXCEPTIONS
OTHERS = 1.
f_m_uncfile = outfile .
clear w_length.
w_length = strlen( matlfile ).
replace matlfile with c_uncpath_material into F_M_UNCFILE length
w_length .
open dataset F_m_UNCFILE for output in text mode .
if sy-subrc <> 0 .
MESSAGE E000(38) WITH 'Unable to open file ' F_m_UNCFILE.
endif.
ENDFORM. " initial_stuff.
Close files, etc.
FORM WRAPUP.
CLOSE DATASET F_M_UNCFILE.
PERFORM CONVERT_FILE.
WRITE: / 'Material interface file name: ', OUTFILE,
/ 'Number of records written to material file: ', WRITE_COUNT.
endform.
This form is included for testing and is performed if the test_rec
checkbox is checked.
FORM WRITE_FORMATTED_TEST_RECORD.
WRITE: /,
/ 'Beginning of new record :',
/ 'Start Delimiter :|' NO-GAP,
MATERIAL_DATA-DELIMITER_START NO-GAP, '|',
/ 'Record Type :|' NO-GAP,
MATERIAL_DATA-REC_TYPE NO-GAP, '|',
/ 'Material Number :|' NO-GAP,
MATERIAL_DATA-MATNR NO-GAP USING NO EDIT MASK, '|',
/ 'Material Description :|' NO-GAP,
MATERIAL_DATA-MAKTX NO-GAP, '|',
/ 'Substitute Material Number :|' NO-GAP,
MATERIAL_DATA-SMATN NO-GAP, '|',
/ 'Substitute Start Date :|' NO-GAP,
MATERIAL_DATA-SMATN_START NO-GAP, '|',
/ 'Substitute End Date :|' NO-GAP,
MATERIAL_DATA-SMATN_END NO-GAP, '|',
/ 'Status Code :|' NO-GAP,
MATERIAL_DATA-VMSTA NO-GAP, '|',
/ 'Status Description :|' NO-GAP,
MATERIAL_DATA-VMSTB NO-GAP, '|',
/ 'Date of last change :|' NO-GAP,
MATERIAL_DATA-LAEDA NO-GAP, '|',
/ 'User who changed record :|' NO-GAP,
MATERIAL_DATA-AENAM NO-GAP, '|',
/ 'Manufacturer Number :|' NO-GAP,
MATERIAL_DATA-VENDOR_NUM NO-GAP, '|',
/ 'Vendor Name :|' NO-GAP,
MATERIAL_DATA-VENDOR_NM NO-GAP, '|',
/ 'Product Line Code :|' NO-GAP,
MATERIAL_DATA-PROD_LINE_CD NO-GAP, '|',
/ 'Product Line Description :|' NO-GAP,
MATERIAL_DATA-PROD_LINE_DSC NO-GAP, '|',
/ 'DEA Schedule ID :|' NO-GAP,
MATERIAL_DATA-DEA_SCH_ID NO-GAP, '|',
/ 'DEA Schedule Description :|' NO-GAP,
MATERIAL_DATA-DEA_SCH_DSC NO-GAP, '|',
/ 'Labeller Code :|' NO-GAP,
MATERIAL_DATA-NORMT NO-GAP, '|',
/ 'Standard Price :|' NO-GAP,
MATERIAL_DATA-STPRS NO-GAP, '|',
/ 'Logo Description :|' NO-GAP,
MATERIAL_DATA-LOGO_DESC NO-GAP, '|',
/ 'Prescription Flag :|' NO-GAP,
MATERIAL_DATA-PRESCRIPT_FLAG NO-GAP, '|',
/ 'Therapeutic Class :|' NO-GAP,
MATERIAL_DATA-THER_CLASS NO-GAP, '|',
/ 'Therapeutic Class Description :|' NO-GAP,
MATERIAL_DATA-THER_CLASS_DSC NO-GAP, '|',
/ 'Therapeutic Subclass :|' NO-GAP,
MATERIAL_DATA-THER_SUB_CLASS NO-GAP, '|',
/ 'Therapeutic Subclass Description:|' NO-GAP,
MATERIAL_DATA-THER_SUB_CLASS_DSC NO-GAP, '|',
/ 'Therapeutic Equivalence :|' NO-GAP,
MATERIAL_DATA-THER_EQUIV NO-GAP, '|',
/ 'Item Package Size :|' NO-GAP,
MATERIAL_DATA-ITEM_PACKAGE_SIZE NO-GAP, '|',
/ 'Item Package Type :|' NO-GAP,
MATERIAL_DATA-ITEM_PACKAGE_TYPE NO-GAP, '|',
/ 'Dosage Form :|' NO-GAP,
MATERIAL_DATA-DOSAGE_FORM NO-GAP, '|',
/ 'Dosage Form Description :|' NO-GAP,
MATERIAL_DATA-DOSAGE_FORM_DSC NO-GAP, '|',
/ 'Dose Administration :|' NO-GAP,
MATERIAL_DATA-DOSE_ADMIN NO-GAP, '|',
/ 'Dose Administration Description :|' NO-GAP,
MATERIAL_DATA-DOSE_ADMIN_DSC NO-GAP, '|',
/ 'Bottle Size :|' NO-GAP,
MATERIAL_DATA-BOTTLE_SIZE NO-GAP, '|',
/ 'Brand Name :|' NO-GAP,
MATERIAL_DATA-BRAND_NAME NO-GAP, '|',
/ 'Brand Distributor :|' NO-GAP,
MATERIAL_DATA-BRAND_DISTR NO-GAP, '|',
/ 'Brand Color :|' NO-GAP,
MATERIAL_DATA-BRAND_COLOR NO-GAP, '|',
/ 'Brand Shape :|' NO-GAP,
MATERIAL_DATA-BRAND_SHAPE NO-GAP, '|',
/ 'ANDA Date :|' NO-GAP,
MATERIAL_DATA-ANDA_DATE NO-GAP, '|',
/ 'ANDA Number :|' NO-GAP,
MATERIAL_DATA-ANDA_NUMBER NO-GAP, '|',
/ 'Bio Study :|' NO-GAP,
MATERIAL_DATA-BIO_STUDY NO-GAP, '|',
/ 'DESI Indicator :|' NO-GAP,
MATERIAL_DATA-DESI_INDICATOR NO-GAP, '|',
/ 'Drug Term Date :|' NO-GAP,
MATERIAL_DATA-DRUG_TERM_DT NO-GAP, '|',
/ 'FDA Approval Date :|' NO-GAP,
MATERIAL_DATA-FDA_APPRV_DT NO-GAP, '|',
/ 'Item Regulatory Name :|' NO-GAP,
MATERIAL_DATA-ITEM_REG_NM NO-GAP, '|',
/ 'Market Date :|' NO-GAP,
MATERIAL_DATA-MARKET_DT NO-GAP, '|',
/ 'Product Color :|' NO-GAP,
MATERIAL_DATA-PRODUCT_COLOR NO-GAP, '|',
/ 'Product Flavor :|' NO-GAP,
MATERIAL_DATA-PRODUCT_FLAVOR NO-GAP, '|',
/ 'Product Shape :|' NO-GAP,
MATERIAL_DATA-PRODUCT_SHAPE NO-GAP, '|',
/ 'Product Strength :|' NO-GAP,
MATERIAL_DATA-PRODUCT_STRENGTH NO-GAP, '|',
/ 'Base Unit of Measure :|' NO-GAP,
MATERIAL_DATA-MEINS NO-GAP, '|',
/ 'Base Weight :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-WEIGHT NO-GAP, '|',
/ 'Base Weight Unit :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-WT_UNIT NO-GAP, '|',
/ 'Base Volume :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-VOLUM NO-GAP, '|',
/ 'Base Volume Unit :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-VOL_UNIT NO-GAP, '|',
/ 'Base Package Length :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-PKG_LENGTH NO-GAP, '|',
/ 'Base Package Width :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-PKG_WIDTH NO-GAP, '|',
/ 'Base Package Height :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-PKG_HEIGHT NO-GAP, '|',
/ 'Base Dimension Unit :|' NO-GAP,
MATERIAL_DATA-BASE_MEASURES-DIM_UNIT NO-GAP, '|',
/ 'Inner Carton Count :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_COUNT NO-GAP, '|',
/ 'Inner Carton Weight :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-WEIGHT NO-GAP, '|',
/ 'Inner Carton Weight Unit :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-WT_UNIT NO-GAP, '|',
/ 'Inner Carton Volume :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-VOLUM NO-GAP, '|',
/ 'Inner Carton Volume Unit :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-VOL_UNIT NO-GAP, '|',
/ 'Inner Carton Package Length :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_LENGTH NO-GAP, '|',
/ 'Inner Carton Package Width :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_WIDTH NO-GAP, '|',
/ 'Inner Carton Package Height :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-PKG_HEIGHT NO-GAP, '|',
/ 'Inner Carton Dimension Unit :|' NO-GAP,
MATERIAL_DATA-INR_CRTN_MEASURES-DIM_UNIT NO-GAP, '|',
/ 'Case Count :|' NO-GAP,
MATERIAL_DATA-CASE_COUNT NO-GAP, '|',
/ 'Case Weight :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-WEIGHT NO-GAP, '|',
/ 'Case Weight Unit :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-WT_UNIT NO-GAP, '|',
/ 'Case Volume :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-VOLUM NO-GAP, '|',
/ 'Case Volume Unit :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-VOL_UNIT NO-GAP, '|',
/ 'Case Length :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-PKG_LENGTH NO-GAP, '|',
/ 'Case Width :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-PKG_WIDTH NO-GAP, '|',
/ 'Case Height :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-PKG_HEIGHT NO-GAP, '|',
/ 'Case Dimension Unit :|' NO-GAP,
MATERIAL_DATA-CASE_MEASURES-DIM_UNIT NO-GAP, '|',
/ 'Item Note :|' NO-GAP,
MATERIAL_DATA-ITEM_NOTE NO-GAP, '|',
/ 'End Delimiter :|' NO-GAP,
MATERIAL_DATA-DELIMITER_END NO-GAP, '|',
ENDFORM. " write_formatted_test_record
Copy the output files to the appropriate archive folder.
FORM COPY_TO_ARCHIVE USING C_FILE.
DATA:
ARCHFILE(100),
COPYFILES(255),
ITAB LIKE BTCXPM OCCURS 0 WITH HEADER LINE,
W_LENGTH TYPE I ,
W_INFILE(100),
W_OUTFILE(100).
PERFORM BUILD_ARCHIVE_NAME USING C_FILE
CHANGING ARCHFILE.
CONCATENATE C_FILE C_UNCPATH INTO COPYFILES SEPARATED BY SPACE .
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
COMMANDNAME = 'ZUNIXCOPY'
ADDITIONAL_PARAMETERS = COPYFILES
OPERATINGSYSTEM = SY-OPSYS
STDOUT = 'X'
STDERR = 'X'
TERMINATIONWAIT = 'X'
TABLES
EXEC_PROTOCOL = ITAB
EXCEPTIONS
NO_PERMISSION = 1
COMMAND_NOT_FOUND = 2
PARAMETERS_TOO_LONG = 3
SECURITY_RISK = 4
WRONG_CHECK_CALL_INTERFACE = 5
PROGRAM_START_ERROR = 6
PROGRAM_TERMINATION_ERROR = 7
X_ERROR = 8
PARAMETER_EXPECTED = 9
TOO_MANY_PARAMETERS = 10
ILLEGAL_COMMAND = 11
WRONG_ASYNCHRONOUS_PARAMETERS = 12
CANT_ENQ_TBTCO_ENTRY = 13
JOBCOUNT_GENERATION_ERROR = 14
OTHERS = 15.
w_length = strlen( c_final_path ).
replace c_final_path with ' ' into c_file length w_length.
shift c_file left deleting leading space .
concatenate c_uncpath c_file into w_infile .
concatenate archfile c_file into w_outfile .
CALL FUNCTION 'Z_CONVERT_UNIX2DOS'
EXPORTING
INFILE = w_infile
OUTFILE = w_outfile
EXCEPTIONS
ERROR = 1
IDENTICAL_FILENAMES = 2
NO_INPUT_FILE = 3
OTHERS = 4.
IF SY-SUBRC = 0.
SKIP.
WRITE: / C_FILE, 'copied to', ARCHFILE.
ELSE.
MESSAGE E000(38) WITH 'Archive file copy failed.'.
ENDIF.
ENDFORM. " copy_to_archive.
Build Archive file pathnames.
FORM BUILD_ARCHIVE_NAME USING P_PATH
CHANGING P_ARCH.
DATA:
NODECOUNT TYPE I,
LASTNODE TYPE I,
BEGIN OF NODES OCCURS 25,
NODENAME(100),
END OF NODES.
SPLIT P_PATH AT '/' INTO TABLE NODES.
DESCRIBE TABLE NODES LINES NODECOUNT.
CLEAR P_ARCH.
LASTNODE = NODECOUNT - 1.
LOOP AT NODES.
CASE SY-TABIX.
WHEN LASTNODE.
CONCATENATE P_ARCH NODES-NODENAME '/archive/' INTO P_ARCH.
WHEN NODECOUNT.
WHEN OTHERS.
CONCATENATE P_ARCH NODES-NODENAME '/' INTO P_ARCH.
ENDCASE.
ENDLOOP.
ENDFORM. " build_archive_name
*& Form CONVERT_FILE
Move output files from unconverted directory to final destination
directory and convert from UNIX to DOS format in the process.
FORM CONVERT_FILE.
CONCATENATE MATLFILE '.txt' INTO OUTFILE.
Convert customer file from Unix to DOS
CALL FUNCTION 'Z_CONVERT_UNIX2DOS'
EXPORTING
INFILE = F_M_UNCFILE
OUTFILE = outFILE
EXCEPTIONS
ERROR = 1
IDENTICAL_FILENAMES = 2
NO_INPUT_FILE = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
write: /'Error converting file. Input file: ', F_M_UNCFILE.
write: /' Output file: ', outFILE.
ENDIF.
ENDFORM. " CONVERT_FILEHi Vijay,
thanks very much for the reply with valuable suggestion.
I have made couple of changes in the program like this:
i have created another Internal table like this...for selecting the data of MARA...
<b>data: begin of it_temp occurs 0,
matnr like mara-matnr,
end of it_temp.</b>
then I have changed the FORM like this ....
Plz have a look on that and let me know if any thing is wrong in that...
thnx much..
<b>form get_outsert.
select matnr from mara into corresponding fields of table
it_temp where mtart = 'FERT' or mtart = 'HAWA'.
select didnrk amatnr
into (i_outsert-component, i_outsert-matnr)
from stpo as d
inner join stko as c
on dstlnr = cstlnr
inner join mast as b
on cstlnr = bstlnr
inner join mara as a
on bmatnr = amatnr
for all entries IN it_temp
where a~matnr = it_temp-matnr.
append i_outsert.
endselect.
loop at i_outsert where matnr = it_temp-matnr.
if ( i_outsert-component cs str1 ) or ( i_outsert-component cs str2 ).
write i_outsert-component to material_data-component.
append material_data.
elseif ( i_outsert-component cs str3 ) or
( i_outsert-component cs str4 ).
write i_outsert-component to material_data-mguide.
append material_data.
endif.
modify material_data transporting component
where matnr = i_outsert-matnr.
endloop.
endform. "get_outsert</b> -
Popup from ALV for displaying full text = problems!!!
Dear all,
I created an ALV to display data. In this ALV, I have a text column, which just show FIRST 30 characters of the original text.
Now I want to double click on that field, and it will pop up a small window to show full text (the original text, unknown length).
I made lots of references and I decided to use FM POPUP_WITH_TABLE because of some reasons:
a) the original text is retrieved from another FM READ_TEXT. After the call of READ_TEXT, the text will be stored into an internal table. Then, it can be passed to POPUP_WITH_TABLE without more modification.
b) POPUP_WITH_TABLE can show the text more meaningfully. I mean, if the length of the text is greater than the length of the popup window, it <b>automatically break the line and displays the rest in the next line</b>. ( FM POPUP_TO_INFORM does NOT do that.)
However, I've faced some <b>PROBLEMS</b> with FM POPUP_WITH_TABLE
1) The popup window has 2 button OK and Cancel. <b>Is there any way just to display Cancel button?</b>
2) If I click on Cancel or OK without choose any line on the popup window => It will raise an exception, called BREAK_OFF. In this case
If the clicked button is CANCEL => it will close the popup
If the clicked button is OK => nothing happens. And I must click on CANCEL to close the popup.
<b>I want to close the popup windown without raising any exceptions. How can I ?</b>
3) When I enter many complex selection criteria on Selection Screen to limit the result, displaying ALV is good. But when I click on the text field to popup => the report cannot be manipulated. I have to kill the session in SM04.
<b>What's wrong? </b>(because for single selection criteria, it works well.)
Every body has any suggestions?
Thank you in advanceI solved it. I just use another list for pop-up event.
Although it worked well now, I thought it was not a good solution.
Thank you all of you.
Best regards. -
Problem in using FM SELECT_TEXT
Hi friends,
I have a problem in using fm SELECT_TEXT.
Here I want to fetch Material PO text in Material master to my report.
I just dont know in which field of table "it_thead" the actual text is available.\
I tried debugging the program but was not successful.
I have also tried using READ_TEXT but it gives an error if no Text exists.
CALL FUNCTION 'SELECT_TEXT'
EXPORTING
client = sy-mandt
object = 'MATERIAL'
name = wrk_matnr
id = 'BEST'
language = sy-langu
TABLES
selections = it_thead.
How do i print the actual MAterial PO text in IT_THEAD ?
hope u understand the question...please do let me know if any details are required from myside..Hi,
My mistake.
Check below sample code.
PARAMETERS: po_matnr TYPE mara-matnr.
DATA: i_lines TYPE STANDARD TABLE OF tline,
wa_lines TYPE tline,
l_matnr TYPE thead-tdname.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = po_matnr
IMPORTING
OUTPUT = po_matnr
MOVE po_matnr TO l_matnr.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'BEST'
LANGUAGE = sy-langu
NAME = l_matnr "Pass material with leading zeros
OBJECT = 'MATERIAL'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
LINES = i_lines
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.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT i_lines INTO wa_lines.
WRITE: /1 wa_lines-tdline.
ENDLOOP.
Just execute this code by inputting ur material number.
If the text doesnot exist the error u r getting because of not commenting the MESSAGE statement after FM call. Try in the way i told above.
Thanks,
Vinod.
Edited by: Vinod Reddy Vemuru on Feb 28, 2009 4:36 PM -
Smartforms o/p 2 PDF conversion problem , plz see my code
Hi Smartform Guys
1)I m getting error <b>"CONVT_NO_NUMBER "</b> in converting my Smartform output to PDF.
*Printing of Export Invoice, Packing List,Enclosure to Packing List & *
*Case Marking in one SMART FORMS Layout *
REPORT ZSD_REP_MULTI_PRINT.
TABLES :
vbak,
vbap,
vbpa,
vbfa,
VBRK,
VBRP,
LIKP,
LIPS,
KONV,
objk,
tvko,
ser01,
sadr,
equi,
makt,
mast,
t005t,
kna1,
t001w,
T001,
ADRC,
sscrfields,
zpp_plcmi, "Packing list history For Conf: Item data
zplh, "PACKING LIST HISTORY : HEADER DATA
zpli. "PACKING LIST HISTORY : ITEM DATA
DATA: FM_NAME TYPE RS38L_FNAM,
P_E_DEVTYPE TYPE RSPOPTYPE,
P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
P_OUTPUT_OPTIONS TYPE SSFCOMPOP OCCURS 0 WITH HEADER LINE,
P_CONTROL_PARAMETERS TYPE SSFCTRLOP OCCURS 0 WITH HEADER LINE ,
P_DOC LIKE DOCS OCCURS 2000 WITH HEADER LINE,
P_LINES LIKE TLINE OCCURS 200,
P_BIN_FILESIZE TYPE I,
P_LANGUAGE TYPE SFLANGU,
P_BIN_FILE TYPE XSTRING.
DATA: T_ITEM TYPE ZSD_TABL_LITEM,
WA_ITEM TYPE ZSD_STRUCT_LITEM,
T_ADRS LIKE ZSD_STRUCT_ADRS OCCURS 0 WITH HEADER LINE,
MSLINES LIKE TLINE OCCURS 1 WITH HEADER LINE,
TIDNO LIKE STXL-TDID,
TNAME LIKE STXL-TDNAME,
TOBJT LIKE STXL-TDOBJECT,
SSORD LIKE VBAK-VBELN,
TOT LIKE VBAK-NETWR,
WORD LIKE SPELL.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: P_DELNO LIKE LIKP-VBELN OBLIGATORY,
P_INVNO LIKE VBRK-VBELN OBLIGATORY,
P_DATE LIKE SY-DATUM.
SELECTION-SCREEN END OF BLOCK blk1.
AT SELECTION-SCREEN.
CLEAR T_ADRS.
REFRESH T_ITEM.
T_ADRS-INVNO = P_INVNO.
T_ADRS-INVDAT = P_DATE.
SELECT SINGLE VBELV INTO VBFA-VBELV
FROM VBFA
WHERE VBELN = P_DELNO
AND VBTYP_N = 'J' .
SSORD = VBFA-VBELV.
*Exporter's Address
SELECT SINGLE BUKRS_VF INTO VBAK-BUKRS_VF
FROM VBAK
WHERE VBELN = VBFA-VBELV.
SELECT SINGLE ADRNR
INTO T001-ADRNR
FROM T001
WHERE BUKRS = VBAK-BUKRS_VF.
SELECT SINGLE NAME1 STREET CITY1 POST_CODE1 COUNTRY
INTO (T_ADRS-NAME1,T_ADRS-STREET,T_ADRS-CITY1,
T_ADRS-POST_CODE1, ADRC-COUNTRY)
FROM ADRC
WHERE ADDRNUMBER EQ T001-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-COUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
**BUYERS NO & DATE
SELECT SINGLE BSTNK BSTDK INTO (T_ADRS-BSTNK,T_ADRS-BSTDK)
FROM VBAK
WHERE VBELN = VBFA-VBELV.
*Consignee Address & Buyer Other Than Consignee
SELECT SINGLE KUNNR KUNAG INTO (LIKP-KUNNR, LIKP-KUNAG)
FROM LIKP WHERE VBELN = P_DELNO.
IF LIKP-KUNNR = LIKP-KUNAG.
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
T_ADRS-CCITY, T_ADRS-CPCODE, T_ADRS-CREGIO,
T_ADRS-CTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNNR.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-CCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
T_ADRS-ONAME1 = T_ADRS-CNAME1 .
T_ADRS-ONAME2 = T_ADRS-CNAME2 .
T_ADRS-OSTREET = T_ADRS-CSTREET .
T_ADRS-OCITY = T_ADRS-CCITY.
T_ADRS-OPCODE = T_ADRS-CPCODE .
T_ADRS-OREGIO = T_ADRS-CREGIO.
T_ADRS-OTELF1 = T_ADRS-CTELF1 .
T_ADRS-OCOUNTRY = T_ADRS-CCOUNTRY.
ELSE.
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
T_ADRS-CCITY, T_ADRS-CPCODE, T_ADRS-CREGIO,
T_ADRS-CTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNNR.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-CCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
*Buyer Other than Consignee
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-ONAME1, T_ADRS-ONAME2, T_ADRS-OSTREET,
T_ADRS-OCITY, T_ADRS-OPCODE, T_ADRS-OREGIO,
T_ADRS-OTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNAG.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-OCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
ENDIF.
*Other's Ref
TIDNO = 'Z071'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-OREF = mslines-tdline(25).
EXIT.
ENDLOOP.
*Buyer's Order No Ref
TIDNO = 'Z023'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-BUYER = mslines-tdline(25).
EXIT.
ENDLOOP.
*Exporter Ref
TIDNO = 'Z072'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-XPREF = mslines-tdline(25).
EXIT.
ENDLOOP.
*Pre-Carraige By
TIDNO = 'Z074'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PCRG = mslines-tdline(25).
EXIT.
ENDLOOP.
*Place Of reciept by Pre-Carraige
TIDNO = 'Z073'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLPCRG = mslines-tdline(25).
EXIT.
ENDLOOP.
*Vessel/Flight No
TIDNO = 'Z075'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-VFNO = mslines-tdline(25).
EXIT.
ENDLOOP.
*Port Of Loading
TIDNO = 'Z077'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLOAD = mslines-tdline(25).
EXIT.
ENDLOOP.
*Port Of Discharge
TIDNO = 'Z076'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PDISG = mslines-tdline(25).
EXIT.
ENDLOOP.
*Final Destination
TIDNO = 'Z070'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-FDEST = mslines-tdline(25).
EXIT.
ENDLOOP.
*Terms Of Delivery & Payment
TIDNO = 'Z080'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-TERMS = mslines-tdline(50).
EXIT.
ENDLOOP.
APPEND T_ADRS.
*BODY SECTION FOR LINE ITEMS
SELECT POSNR KWMENG VRKME WAERK
INTO (VBAP-POSNR, VBAP-KWMENG, VBAP-VRKME, VBAP-WAERK)
FROM VBAP
WHERE VBELN = SSORD.
*Mark/Case No
TIDNO = '0002'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-MARKNO = mslines-tdline(40).
EXIT.
ENDLOOP.
*Packing Type
TIDNO = '0003'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-PACKTYP = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Description
TIDNO = '0001'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-PACKTYP = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Quantity
WA_ITEM-QTY = VBAP-KWMENG.
WA_ITEM-VRKME = VBAP-VRKME.
*Goods Rate
SELECT SINGLE KNUMV INTO VBAK-KNUMV FROM VBAK WHERE VBELN = SSORD.
SELECT SINGLE KBETR WAERS
INTO (WA_ITEM-RATE, WA_ITEM-WAERS)
FROM KONV
WHERE KNUMV = VBAK-KNUMV
AND KPOSN = VBAP-POSNR
AND KSCHL = 'PR00'.
*Goods Amount
WA_ITEM-AMOUNT = WA_ITEM-QTY * WA_ITEM-RATE.
WA_ITEM-WAERK = VBAP-WAERK.
TOT = TOT + WA_ITEM-AMOUNT.
APPEND WA_ITEM TO T_ITEM.
ENDSELECT.
T_ADRS-TOT = TOT.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = TOT
CURRENCY = VBAP-WAERK
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = WORD
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
TEXT = WORD-WORD.
CONCATENATE TEXT
'DECIMAL'
WORD-WORD
INTO TEXT
SEPARATED BY ' '.
T_ADRS-TOT_WORDS = WORD-WORD.
APPEND T_ADRS.
START-OF-SELECTION.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'Z_SD_REP_MULTI_PRINT'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
P_LANGUAGE = 'EN'.
CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
EXPORTING
I_LANGUAGE = P_LANGUAGE
I_APPLICATION = 'SAPDEFAULT'
IMPORTING
E_DEVTYPE = P_E_DEVTYPE.
P_OUTPUT_OPTIONS-XSFCMODE = 'X'.
P_OUTPUT_OPTIONS-XSF = SPACE.
P_OUTPUT_OPTIONS-XDFCMODE = 'X'.
P_OUTPUT_OPTIONS-XDF = SPACE.
P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.
P_OUTPUT_OPTIONS-TDDEST = 'LOCL'.
APPEND P_OUTPUT_OPTIONS.
P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
P_CONTROL_PARAMETERS-GETOTF = 'X'.
P_CONTROL_PARAMETERS-NO_CLOSE = SPACE.
APPEND P_CONTROL_PARAMETERS.
CALL FUNCTION FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO
JOB_OUTPUT_OPTIONS =
TABLES
T_ADRS = T_ADRS
T_ITEM = T_ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
BIN_FILESIZE = P_BIN_FILESIZE
TABLES
OTF = P_JOB_OUTPUT_INFO-OTFDATA
DOCTAB_ARCHIVE = P_DOC
LINES = P_LINES
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
BREAK-POINT.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = P_BIN_FILESIZE
CODEPAGE = ' '
FILENAME = 'C:\TEMP.PDF'
FILETYPE = 'BIN'
MODE = ''
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
COL_SELECT = ' '
COL_SELECTMASK = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH = P_BIN_FILESIZE
TABLES
DATA_TAB = P_LINES
FIELDNAMES =
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = P_BIN_FILESIZE
FILENAME = 'C:\Documents and Settings\pvipin\Desktop\sd.pdf'
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
IMPORTING
FILELENGTH =
*TABLES
DATA_TAB = P_LINES.
FIELDNAMES =
**EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22 .
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& Form FINDTEXT
text
FORM FINDTEXT.
REFRESH mslines.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = tidno
language = sy-langu
name = tname
object = tobjt
TABLES
lines = mslines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
DELETE mslines WHERE tdline IS INITIAL.
ENDFORM. "FINDTEXTThnx in Advnce
Moni
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjaman
Message was edited by: md monirujjamanHello,
I think the following statement is causing problem.
P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA.
either give:
P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA[].
or
directly pass P_JOB_OUTPUT_INFO-OTFDATA into FM parameter.
This is because you are filling only header into P_OTF and NOT the Contents of internal table by the statement
P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA.
let me know whether it works.
Regards, Murugesh AS
have alook at this thread:
Re: SX_OBJECT_CONVERT_OTF_PDF
this may help you
Message was edited by: Murugesh Arcot
Message was edited by: Murugesh Arcot -
Urgent: Problems in Generic Extraction by Function Module
Hi BW Gurus,
I am new to SDN and also new to generic extraction using function module. My requirement is to extract long text(142 char) from CRM to BW as the text is not stored in database table I used function module read_text with in another ZXXX function module copy of (RSAX_BIW_GET_DATA_SIMPLE). In my extract structure I used GUID(char,32), Langu, long text(142 char) and 2 placeholders. Text can be extracted by passing STXH table fields(Tdname, Tdid, Tdobject, Tdspars) to read_text as parameters and i also need to use CRMD_ORDERADM_H field GUID(32 char) to compare 1st 32 chars of tdname(70 char) with Guid to select Guids and loop thru this Guids and for each Guid i need to append lines of text to e_t_data but as i donot know ABAP i unable to write the code for this. Through my friends help i wrote code when i check in RSA3 it is displaying the text but when i replicate into BW and load into data target in monitor the status is red with records initially but afterwards it will be red status again with 0 from 0 records for initial load again.when i check on job logs the errors i have are:
The background job has created a job log file of 2Gb size and it is currently on a infinite loop writing entries into the SAP System Log that it cannot write to the Job log file due to Error 22 for write/read access to a file this is because of the datasource i have created. Please find my Function module and if anyone would please correct FM and send me that will be really great.I appreciate it in advance.
MY Function Module is:
FUNCTION Z_CRMORDERH_STR_TXT.
""Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE YCRM_TEXT_STR OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
***" EXCEPTIONS NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
Tables: CRMD_ORDERADM_H, STXH.
Auxiliary Selection criteria structure
data: l_s_select type srsc_s_select.
Maximum number of lines for DB table
Statics: s_s_if type srsc_s_if_simple,
counter
s_counter_datapakid like sy-tabix,
Cursor
s_cursor type cursor.
data: i_crmtext type standard table of TLINE .
types: begin of xsreph ,
GUID type CRMD_ORDERADM_H-guid,
end of xsreph.
data: i_guid type standard table of xsreph.
data: I_TEXT type STXH-TDNAME.
data: xempl like YCRM_TEXT_STR occurs 0 with header line.
data: t_tab like dd03l-tabname.
Select ranges
ranges: l_r_guid for CRMD_ORDERADM_H-guid.
l_r_connid for sflight-connid.
Initialization mode (first call by SAPI) or data transfer mode
(following calls) ?
if i_initflag = sbiwa_c_flag_on.
Initialization: check input parameters
buffer input parameters
prepare data selection
Check DataSource validity
case i_dsource.
when 'yCRM_TEXT'. " for S_SREPH1
when others.
if 1 = 2. message e009(r3). endif.
this is a typical log call. Please write every error message like this
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
' '. "message variable 2
raise error_passed_to_mess_handler.
endcase.
append lines of i_t_select to s_s_if-t_select.
Fill parameter buffer for data extraction calls
s_s_if-requnr = i_requnr.
s_s_if-dsource = i_dsource.
s_s_if-maxsize = i_maxsize.
Fill field list table for an optimized select statement
(in case that there is no 1:1 relation between InfoSource fields
and database table fields this may be far from beeing trivial)
append lines of i_t_fields to s_s_if-t_fields.
we will do our selection based on what is in the p table for the
infoobject
else. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
First data package -> OPEN CURSOR
if s_counter_datapakid = 0.
Fill range tables BW will only pass down simple selection criteria
of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'GUID'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_GUID.
APPEND L_R_GUID.
ENDLOOP.
case i_dsource.
when 'YCRM_TEXT'. " for S_SREPH1
t_tab = 'CRMD_ORDERADM_H'.
endcase.
select GUID
from (t_tab)
into table i_guid where PROCESS_TYPE = 'ZACI' and ( OBJECT_ID < '0000000042').
select tdname from stxh into i_text where tdobject = 'TEXT'.
if sy-subrc ne 0.
message e009(r3).
this is a typical log call. Please write every error message like this
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
'No master data found'. "message variable 2
raise error_passed_to_mess_handler.
endif.
Determine number of database records to be read per FETCH statement
from input parameter I_MAXSIZE. If there is a one to one relation
between DataSource table lines and database entries, this is trivial.
In other cases, it may be impossible and some estimated value has to
be determined.
open cursor with hold s_cursor for
select (s_s_if-t_fields) from CRMD_ORDERADM_H
where GUID in L_R_GUID .
ENDIF.
Fetch records into interface table.
named E_T_'Name of extract structure'.
fetch next cursor s_cursor
appending corresponding fields
of table e_t_data
package size s_s_if-maxsize.
IF SY-SUBRC <> 0.
CLOSE CURSOR S_CURSOR.
RAISE NO_MORE_DATA.
ENDIF.
as we are doing this only once can use the select statement.
***data: crmtext like tline occurs 0 with header line.
**data: i_crmtext type standard table of TLINE.
**data: i_guid type standard table of xsreph.
data: l_guid type THEAD-TDNAME.
data: st_guid type xsreph.
data: st_crmtext type TLINE.
data: lan type THEAD-TDSPRAS.
lan = 'E'.
loop at i_guid into st_guid.
l_guid = st_guid-guid.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'A002'
LANGUAGE = lan
NAME = l_guid
OBJECT = 'CRM_ORDERH'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = i_crmtext.
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
e_t_data-guid = l_guid.
loop at i_crmtext into st_crmtext.
move lan to e_t_data-langu.
move st_crmtext-tdline to e_t_data-description.
append e_t_data.
endif.
endloop.
clear: st_guid,l_guid.
refresh: i_crmtext.
endloop.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
endif.
ENDFUNCTION.
please Gurus as I donot know ABAP i appreciate if anyone would write a FM based on requirement and send me that will be really great this is my request. I gurantee of award points for good answers.
Regards
KishoreHi,
The statement <b>RAISE NO_MORE_DATA</b> should be active (uncommented) in your code. Otherwise, the infinte loop occurs.
See also, the Siggi's blog:
/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
BTW, was it your thread here:
Re: Urgent: problems in extracting Long Text
Best regards,
Eugene -
Problem to upload the data into internal table record length more than 6000
Hi all
I stuck with this problem from past 3 days. I have to upload the data from excel sheet. iam making it tab delimited and trying to upload from gui_upload. but in the structure of file, we have, one field of 4000 characters, and other fields of 255 characters.
how can i upload this into internal table . From excel sheet or from tab delimeted or any other format? or any special function module is there? while iam doing this its truncating the datat 255 characters and not uploading the other fields also...
can any one of you help me out. ASAP
thnks in advancefrom one of the forum iam just pasting code which it is used in lsmw, try the same logic in ur code hope it can work.
you have to create multiple lines with do...enddo loop., like this:
(assuming excel_long_text-text is 924 characters long, 7 lines X 132 char)
__GLOBAL_DATA__
data: offset type i,
text_132(132) type c.
__BEGIN_OF_RECORD__ Before Using Conversion Rules
Rule : Default Settings Modified
Code: /sapdmc/ltxtl = init_/sapdmc/ltxtl.
CLEAR offset.
DO 7 TIMES.
text_132 = excel_long_text-text+offset(132).
offset = offset + 132.
__END_OF_RECORD__ After Using Conversion Rules
Rule : Default Settings Modified
Code: transfer_record.
ENDDO.
also check this
COMMIT_TEXT
To load long text into SAP
READ_TEXT
To load long text into SAP
Maybe you are looking for
-
Arithmatic operations on fields in tables
Hello Members, My query might seem pretty basic, but seems uphill to me, as i have no idea how to perform arithmatic operations between fields in tables. I have two tables temp1 and temp2. each of these tables have 2 fields : account no. and balance
-
Error in Installing- System dosen't have fully qualified domain name.
When I try to install Java Enterprise System in my PC, I get the following error message and cannot proceed further: System dosen't have fully qualified domain name. Setup fully qualified domain name and then continue instalation. Please help me to s
-
Word for mac 2011 - jpeg images vanish when saved as pdf
The subject box pretty much explains the problem! I've tried ticking the 'drawing objects' box in preferences, and unchecking the 'image placeholders', but I still get pdfs with just a blank space where my word .docx has an image. help!
-
Fetch first and last record together
Hi All, I want to fetch first and last records. I have done through ROWNUM, but I need some alternative ways, may be through RANK function. Please help on this. here sample data: WITH t AS (SELECT 100 sid, 'ABC' SNAME, 4 status_id, SYSDATE + 1/24 st
-
Hola mi nombre es Damian y soy de argentina,tengo un BlackBerry Pearl 8100 y descarge hace tiempo la aplicación WeatherEye la cual me dice el estado del tiempo y mediante un icono que cambia en la pantalla me informa la temperatura,pero en estos últi