‎2008 Jan 11 5:11 AM
Hello everyone i have some output data in form of XML, i want to save that data in application server or presentation server, so what coding or functional module i have to use, please let me know whole procedure, waiting for reply.
Thanks & Regards
Vimarsh B.
‎2008 Jan 11 5:28 AM
Hi vimarsh,
I will send a sample code for both i.e on save data on APPLICATION SERVER and PRESENTATION SERVER.
SAVE DATA INTO APPLICATION SERVER CODE:
&----
*& Report YBDC_DATASETS_OUTPUT_AL11 *
*& *
&----
*& DEVELOPER : KIRAN KUMAR.G *
*& PURPOSE : PLACING DATA IN APPLICATION SERVER(APPSERVER:AL11) *
*& CREATION DT : 30/11/2007 *
& REQUEST : ERPK900035
&----
REPORT ybdc_datasets_output_al11.
----
Internal Table
----
DATA: BEGIN OF gt_data OCCURS 0,
text(50),
END OF gt_data.
----
Append data to Internal Table
----
REFRESH : gt_data. "Clear Body of the Internal Table
CLEAR : gt_data. "Clear Header Line.
gt_data-text = 'DEMO BDC FIRST LINE'.
APPEND gt_data.
gt_data-text = 'DEMO BDC SECOND LINE'.
APPEND gt_data.
----
OPEN THE DATASET
----
OPEN DATASET 'ZBDCDEMO' FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
----
Transfer the data to APPSERVER
----
LOOP AT gt_data.
TRANSFER gt_data TO 'ZBDCDEMO'.
ENDLOOP.
----
Close the Dataset
----
CLOSE DATASET 'ZBDCDEMO'.
SKIP 10.
WRITE:/30 'GOTO AL11 TRANSACTION CODE AND CHECK UR RESULT THERE'.
SAVE DATA IN PRESENTATION SERVER CODE:
&----
*& Report YBDC_DOWNLOAD_MM01_XLS *
*& *
&----
*& DEVELOPER : KIRAN KUMAR.G *
*& PURPOSE : FETCH DATA FROM DB AND PLACE THEM IN .XLS FILE *
*& CREATION DT : 2/12/2007 *
*& REQUEST : ERPK900035 *
*& NOTE : MENTION PATH & MENTION FILE.XLS IN THE SELE-SCREEN *
&----
REPORT ybdc_download_mm01_xls MESSAGE-ID zbdcmsg.
----
Tables
----
TABLES: mara, "General Material Data
makt. "Material Descriptions
----
Global Variables
----
DATA: gv_path TYPE string. "Hold Path Selection Information
----
Internal Table
----
DATA : BEGIN OF gt_data OCCURS 0,
matnr(20), " Material Number
mbrsh(20), " Industry Sector
mtart(20), " Material Type
meins(20), " Base Unit Of Measure
maktx(20), " Material Description
END OF gt_data.
----
Selection-Screen
----
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_file(90).
SELECTION-SCREEN : END OF BLOCK b1.
SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS : s_matnr FOR mara-matnr,
s_mbrsh FOR mara-mbrsh,
s_mtart FOR mara-mtart,
s_maktx FOR makt-maktx,
s_meins FOR mara-meins.
SELECTION-SCREEN : END OF BLOCK b2.
----
Initialization
----
INITIALIZATION.
PERFORM initial.
----
Placing A File In The Directory
----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM path_directory.
START-OF-SELECTION.
Append Some Header Information To XLS File
PERFORM append_header.
----
Fetching The Data
----
PERFORM fecth_data.
END-OF-SELECTION.
----
GUI_DOWNLOAD
----
PERFORM gui_download.
&----
*& Form path_directory
&----
text
----
--> p1 text
<-- p2 text
----
FORM path_directory .
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
window_title = 'Download A File'
initial_folder = 'c:/'
CHANGING
selected_folder = gv_path
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
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 METHOD cl_gui_cfw=>flush
EXCEPTIONS
cntl_system_error = 1
cntl_error = 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_file = gv_path.
CLEAR gv_path.
ENDFORM. " path_directory
&----
*& Form fecth_data
&----
text
----
--> p1 text
<-- p2 text
----
FORM fecth_data .
SELECT a~matnr
a~mbrsh
a~mtart
a~meins
b~maktx
FROM mara AS a
INNER JOIN makt AS b ON amatnr = bmatnr
APPENDING TABLE gt_data
WHERE a~matnr IN s_matnr
AND a~mbrsh IN s_mbrsh
AND a~mtart IN s_mtart
AND b~maktx IN s_maktx
AND a~meins IN s_meins.
IF sy-subrc = 0.
MESSAGE s000.
ENDIF.
ENDFORM. " fecth_data
&----
*& Form gui_download
&----
text
----
--> p1 text
<-- p2 text
----
FORM gui_download .
gv_path = p_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = gv_path
filetype = 'ASC'
APPEND = ' '
write_field_separator = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = gt_data
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.
ENDFORM. " gui_download
&----
*& Form append_header
&----
text
----
--> p1 text
<-- p2 text
----
FORM append_header .
REFRESH : gt_data.
CLEAR : gt_data.
gt_data-matnr = 'MATERIAL NUMBER'.
gt_data-mbrsh = 'INDUSTRY SECTOR'.
gt_data-mtart = 'MATERIAL TYPE'.
gt_data-maktx = 'MATERIAL DESCRIPTION'.
gt_data-meins = 'BASE UNIT OF MEASURE'.
APPEND gt_data.
CLEAR gt_data.
ENDFORM. " append_header
&----
*& Form initial
&----
text
----
--> p1 text
<-- p2 text
----
FORM initial .
s_matnr-sign = 'I'.
s_matnr-option = 'BT'.
s_matnr-low = '800'.
s_matnr-high = '100-200'.
APPEND s_matnr.
s_mbrsh-sign = 'I'.
s_mbrsh-option = 'BT'.
s_mbrsh-low = 'M'.
s_mbrsh-high = ''.
APPEND s_mbrsh.
s_mtart-sign = 'I'.
s_mtart-option = 'BT'.
s_mtart-low = 'FERT'.
s_mtart-high = 'HALB'.
APPEND s_mtart.
s_maktx-sign = 'I'.
s_maktx-option = 'BT'.
s_maktx-low = 'IRON'.
s_maktx-high = 'STEEL'.
APPEND s_maktx.
s_meins-sign = 'I'.
s_meins-option = 'BT'.
s_meins-low = 'CM'.
s_meins-high = 'KG'.
APPEND s_meins.
ENDFORM. " initial
Award points if helpful.
Kiran Kumar.G.A
Have a Nice Day..
‎2008 Jan 11 5:16 AM
Hi,
To save on Presentation Server you can use FM GUI_DOWNLOAD.
I dont' think you can save XML file on Application server.
Regards,
Pankaj
‎2008 Jan 11 5:21 AM
Hi Pankaj
Actually i am working on ALE IDoc,.
My requirement is to convert our Idoc in form of XML and save it to our application server or presentation server. I am getting my output in XML form but how i will decide my path to save ithat data in our presentation server.
can u tell me about filename and type
Thanks & Regards
Vimarsh B.
‎2008 Jan 11 5:24 AM
Use Download...
CALL FUNCTION 'DOWNLOAD'
EXPORTING
filename = 'C:\PLANT1.XML'
filetype = 'ASC'
TABLES
data_tab = gt_xml.
Also check this link.
http://www.sap-basis-abap.com/abap/creation-and-download-an-xml-file.htm
Regards,
Maha
‎2008 Jan 11 5:36 AM
Hi,
You can simply hard code the path and pass it to the FM's Exporting parameter 'filename' with the extension as .XML.
like 'C:
My Documents\test.xml'
Regards,
Pankaj
‎2008 Jan 11 6:10 AM
Hello Everyone
I have following codes:
&----
*& Report ZIDOC_XML_CONVERSION
*&
&----
*&
*&
&----
report ZIDOC_XML_CONVERSION.
types: TRESLIN(4096) type X,
TRESTAB type standard table of TRESLIN.
data: RESSTR type ref to IF_IXML_OSTREAM.
data: RESTAB type TRESTAB.
data: XSLTP type ref to CL_XSLT_PROCESSOR.
data: G_IXML type ref to IF_IXML,
G_STREAM_FACTORY type ref to IF_IXML_STREAM_FACTORY,
DIR type STRING.
data: IDOC type ref to CL_IDOC_XML1.
data: PROGNAME type CXSLTDESC.
data: STR type STRING.
data: XSTR type XSTRING.
data: RESSIZE type I.
data: ID type EDI_STYLE.
data GLOBAL_DOCNUM type EDI_DOCNUM.
data GLOBAL_STYLEID type EDI_STYLE.
data: GLOBAL_OK_CODE(30).
data: HTML_CONTROL type ref to CL_GUI_HTML_VIEWER.
data: FCODE_WA(30).
data: FCODE_TAB type standard table of CHAR30.
data: MS_DEFAULT_STYLE type EDI_STYLE.
data: SAP_DEFAULT_STYLE type EDI_STYLE.
data: SAP_TEXT_STYLE type EDI_STYLE.
data: SAP_CONTEXT_STYLE type EDI_STYLE.
data: TEXT_MS_DEFAULT_STYLE(30).
data: TEXT_SAP_DEFAULT_STYLE(30).
data: TEXT_SAP_TEXT_STYLE(30).
data: TEXT_SAP_CONTEXT_STYLE(30).
************************************************************************
*
data ACTION like SY-UCOMM.
parameters: IDOCNUM like EDIDC-DOCNUM,
IDSTYLE type EDI_STYLE,
ACTIONS type EDI_STFLAG.
class CL_IXML definition load.
class CL_ABAP_CHAR_UTILITIES definition load.
class CL_GUI_FRONTEND_SERVICES definition load.
class CL_GUI_HTML_VIEWER definition load.
data: CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER.
data: REPID like SY-REPID, DYNNR like SY-DYNNR.
data: WA_OBJ_LOCATION type IDOCSTYLE.
data: LOCAL_XSLID type EDI_STYLE.
data: BASE_URL(30).
data: DATA_TABLE type TAB_RAW512.
data: LEN type I.
data: UI_FLAG type I.
data: MYEVENT_TAB type CNTL_SIMPLE_EVENTS,
MYEVENT type CNTL_SIMPLE_EVENT.
data: LOCAL_STYLEID type EDI_STYLE.
data: PARENT type ref to CL_GUI_CONTAINER.
data: LINE type I.
data: WA_SRC type STRUCT_SRC.
data: LOCAL_EDIDC type EDIDC.
data: TAB_OBJ_LOCATION type standard table of IDOCSTYLE .
data: GEN_EX type ref to CX_XSLT_EXCEPTION.
data: SRCSTR type ref to IF_IXML_ISTREAM.
*load-of-program.
try.
create object XSLTP.
catch CX_XSLT_EXCEPTION.
write / TEXT-E01. exit. " XSLT not supported
endtry.
G_IXML = CL_IXML=>CREATE( ).
G_STREAM_FACTORY = G_IXML->CREATE_STREAM_FACTORY( ).
DIR = ''.
call method CL_GUI_FRONTEND_SERVICES=>GET_TEMP_DIRECTORY
changing
TEMP_DIR = DIR.
*
*start-of-selection.
*
GLOBAL_DOCNUM = IDOCNUM.
GLOBAL_STYLEID = IDSTYLE.
get parameter id 'IDOC_STYLEID' field GLOBAL_STYLEID.
if GLOBAL_STYLEID is initial.
GLOBAL_STYLEID = 'IE5'.
endif.
clear FCODE_TAB.
clear GLOBAL_OK_CODE.
clear ACTION.
we only support action "deletemark" + "closeproce"
if ACTIONS <> ' X X '.
FCODE_WA = 'DELM'.
append FCODE_WA to FCODE_TAB.
FCODE_WA = 'CLPR'.
append FCODE_WA to FCODE_TAB.
endif.
Create Object and create IDOC_XML
create object IDOC
exporting
DOCNUM = IDOCNUM
exceptions
ERROR_LOADING_IDOC = 1
ERROR_BUILDING_XML = 2
others = 3.
if SY-SUBRC <> 0.
message id SY-MSGID type 'E' number SY-MSGNO
with SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
raising NO_IDOC_XML_LOADED.
endif.
Determine transformation program.
clear TAB_OBJ_LOCATION.
select * from IDOCSTYLE into table TAB_OBJ_LOCATION
where ( STYLEID = GLOBAL_STYLEID or STYLEID = '' )
and ( MESTYP = LOCAL_EDIDC-MESTYP or MESTYP = '')
and ( DIRECT = LOCAL_EDIDC-DIRECT or DIRECT = '')
and OBJNR = 0.
describe table TAB_OBJ_LOCATION lines LINE.
if LINE > 0.
loop at TAB_OBJ_LOCATION into WA_OBJ_LOCATION.
move WA_OBJ_LOCATION-URL to PROGNAME.
clear WA_OBJ_LOCATION.
exit.
endloop.
else.
message E110(IDOC_XML1) with LOCAL_XSLID WA_OBJ_LOCATION-URL
raising ERROR_LOADING_OBJECT.
endif.
Transformation
call method IDOC->GET_XMLDATA_AS_STRING
importing
DATA_STRING = STR.
RESSTR = G_STREAM_FACTORY->CREATE_OSTREAM_ITABLE( TABLE = RESTAB )
.
RUN
try.
call transformation (PROGNAME)
source xml STR
result xml RESSTR.
catch CX_XSLT_EXCEPTION into GEN_EX.
message E110(IDOC_XML1) with LOCAL_XSLID WA_OBJ_LOCATION-URL
raising ERROR_LOADING_OBJECT.
exit.
endtry.
write : / STR.
I am getting following output:
<?xml version="1.0"?><RSREQUST><IDOC BEGIN = "1"><EDI_DC40 SEGMENT="1"><TABNAM><![CDATA[EDI_DC40]]></TABNAM><M
i want to save this output on my application server or presentation server, my data is not on presentation server or in application server, its on form of output and i want to save my output directly to application server or presentation server.hope that you people will help me out i amagreed with all of you, but please reply me for this query.
Thanks & Regards
Vimarsh B.
Edited by: vimarsh b on Jan 11, 2008 7:16 AM
‎2008 Jan 11 5:25 AM
Check the link below. it may be of some help:
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.erpgenie.com/mysap/idoc_connector.htm
Regards.
Edited by: Sravan Prakash.V on Jan 11, 2008 10:56 AM
‎2008 Jan 11 5:28 AM
Hi vimarsh,
I will send a sample code for both i.e on save data on APPLICATION SERVER and PRESENTATION SERVER.
SAVE DATA INTO APPLICATION SERVER CODE:
&----
*& Report YBDC_DATASETS_OUTPUT_AL11 *
*& *
&----
*& DEVELOPER : KIRAN KUMAR.G *
*& PURPOSE : PLACING DATA IN APPLICATION SERVER(APPSERVER:AL11) *
*& CREATION DT : 30/11/2007 *
& REQUEST : ERPK900035
&----
REPORT ybdc_datasets_output_al11.
----
Internal Table
----
DATA: BEGIN OF gt_data OCCURS 0,
text(50),
END OF gt_data.
----
Append data to Internal Table
----
REFRESH : gt_data. "Clear Body of the Internal Table
CLEAR : gt_data. "Clear Header Line.
gt_data-text = 'DEMO BDC FIRST LINE'.
APPEND gt_data.
gt_data-text = 'DEMO BDC SECOND LINE'.
APPEND gt_data.
----
OPEN THE DATASET
----
OPEN DATASET 'ZBDCDEMO' FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
----
Transfer the data to APPSERVER
----
LOOP AT gt_data.
TRANSFER gt_data TO 'ZBDCDEMO'.
ENDLOOP.
----
Close the Dataset
----
CLOSE DATASET 'ZBDCDEMO'.
SKIP 10.
WRITE:/30 'GOTO AL11 TRANSACTION CODE AND CHECK UR RESULT THERE'.
SAVE DATA IN PRESENTATION SERVER CODE:
&----
*& Report YBDC_DOWNLOAD_MM01_XLS *
*& *
&----
*& DEVELOPER : KIRAN KUMAR.G *
*& PURPOSE : FETCH DATA FROM DB AND PLACE THEM IN .XLS FILE *
*& CREATION DT : 2/12/2007 *
*& REQUEST : ERPK900035 *
*& NOTE : MENTION PATH & MENTION FILE.XLS IN THE SELE-SCREEN *
&----
REPORT ybdc_download_mm01_xls MESSAGE-ID zbdcmsg.
----
Tables
----
TABLES: mara, "General Material Data
makt. "Material Descriptions
----
Global Variables
----
DATA: gv_path TYPE string. "Hold Path Selection Information
----
Internal Table
----
DATA : BEGIN OF gt_data OCCURS 0,
matnr(20), " Material Number
mbrsh(20), " Industry Sector
mtart(20), " Material Type
meins(20), " Base Unit Of Measure
maktx(20), " Material Description
END OF gt_data.
----
Selection-Screen
----
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_file(90).
SELECTION-SCREEN : END OF BLOCK b1.
SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS : s_matnr FOR mara-matnr,
s_mbrsh FOR mara-mbrsh,
s_mtart FOR mara-mtart,
s_maktx FOR makt-maktx,
s_meins FOR mara-meins.
SELECTION-SCREEN : END OF BLOCK b2.
----
Initialization
----
INITIALIZATION.
PERFORM initial.
----
Placing A File In The Directory
----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM path_directory.
START-OF-SELECTION.
Append Some Header Information To XLS File
PERFORM append_header.
----
Fetching The Data
----
PERFORM fecth_data.
END-OF-SELECTION.
----
GUI_DOWNLOAD
----
PERFORM gui_download.
&----
*& Form path_directory
&----
text
----
--> p1 text
<-- p2 text
----
FORM path_directory .
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
window_title = 'Download A File'
initial_folder = 'c:/'
CHANGING
selected_folder = gv_path
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
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 METHOD cl_gui_cfw=>flush
EXCEPTIONS
cntl_system_error = 1
cntl_error = 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_file = gv_path.
CLEAR gv_path.
ENDFORM. " path_directory
&----
*& Form fecth_data
&----
text
----
--> p1 text
<-- p2 text
----
FORM fecth_data .
SELECT a~matnr
a~mbrsh
a~mtart
a~meins
b~maktx
FROM mara AS a
INNER JOIN makt AS b ON amatnr = bmatnr
APPENDING TABLE gt_data
WHERE a~matnr IN s_matnr
AND a~mbrsh IN s_mbrsh
AND a~mtart IN s_mtart
AND b~maktx IN s_maktx
AND a~meins IN s_meins.
IF sy-subrc = 0.
MESSAGE s000.
ENDIF.
ENDFORM. " fecth_data
&----
*& Form gui_download
&----
text
----
--> p1 text
<-- p2 text
----
FORM gui_download .
gv_path = p_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = gv_path
filetype = 'ASC'
APPEND = ' '
write_field_separator = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = gt_data
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.
ENDFORM. " gui_download
&----
*& Form append_header
&----
text
----
--> p1 text
<-- p2 text
----
FORM append_header .
REFRESH : gt_data.
CLEAR : gt_data.
gt_data-matnr = 'MATERIAL NUMBER'.
gt_data-mbrsh = 'INDUSTRY SECTOR'.
gt_data-mtart = 'MATERIAL TYPE'.
gt_data-maktx = 'MATERIAL DESCRIPTION'.
gt_data-meins = 'BASE UNIT OF MEASURE'.
APPEND gt_data.
CLEAR gt_data.
ENDFORM. " append_header
&----
*& Form initial
&----
text
----
--> p1 text
<-- p2 text
----
FORM initial .
s_matnr-sign = 'I'.
s_matnr-option = 'BT'.
s_matnr-low = '800'.
s_matnr-high = '100-200'.
APPEND s_matnr.
s_mbrsh-sign = 'I'.
s_mbrsh-option = 'BT'.
s_mbrsh-low = 'M'.
s_mbrsh-high = ''.
APPEND s_mbrsh.
s_mtart-sign = 'I'.
s_mtart-option = 'BT'.
s_mtart-low = 'FERT'.
s_mtart-high = 'HALB'.
APPEND s_mtart.
s_maktx-sign = 'I'.
s_maktx-option = 'BT'.
s_maktx-low = 'IRON'.
s_maktx-high = 'STEEL'.
APPEND s_maktx.
s_meins-sign = 'I'.
s_meins-option = 'BT'.
s_meins-low = 'CM'.
s_meins-high = 'KG'.
APPEND s_meins.
ENDFORM. " initial
Award points if helpful.
Kiran Kumar.G.A
Have a Nice Day..