Skip to Content
0
Former Member
Mar 05, 2009 at 07:47 AM

Open dataset string to date etc

330 Views

Hi,

Task : Access data from application server and process it

issue : looks like everything has been treated as chars and I am not able to process anything but for same data if i send from presentation server it works perfectly alright.

i think i spend enough time to resolve this but couldn't get anything out of it. please help me.

TYPES : BEGIN OF RECORD_IN,

INVOICE_PSTNG_DATE TYPE BUDAT,

INVOICE_DOC_DATE TYPE BLDAT,

INOVICE_REF_DOC_NO TYPE XBLNR,

GRECEIPT_PSTNG_DATE TYPE BUDAT,

GRECEIPT_DOC_DATE TYPE BLDAT,

GRECEIPT_REF_DOC_NO TYPE XBLNR,

COMP_CODE TYPE BUKRS,

GROSS_AMOUNT(27) TYPE C,

DOC_DATE TYPE EBDAT,

AGREEMENT TYPE KONNR,

PO_NUMBER TYPE BSTNR,

PO_ITEM TYPE EBELP,

ENTRY_QNT(16) TYPE C,

ITEM_FIELD_IND(1) TYPE C,

DELIV_DATE TYPE EINDT,

END OF RECORD_IN.

DATA : IT_RECORD_IN TYPE TABLE OF RECORD_IN.

FORM get_data_file.

  • Type-pools TRUXS.

OPEN DATASET p_unxfil FOR INPUT IN TEXT MODE.

IF sy-subrc = 0.

DO.

READ DATASET p_unxfil INTO input_file_tab-line_string.

IF sy-subrc <> 0.

EXIT.

ENDIF.

APPEND input_file_tab.

CLEAR input_file_tab.

EDDO.

ELSE.

write :/ 'File read error'.

ENDIF.

data : lv_int type i.

loop at input_file_tab INTO input_file_tab-line_string.

SPLIT input_file_tab-line_string at ',' into

w_RECORD_IN-INVOICE_PSTNG_DATE

w_RECORD_IN-INVOICE_DOC_DATE

w_RECORD_IN-INOVICE_REF_DOC_NO

w_RECORD_IN-GRECEIPT_PSTNG_DATE

w_RECORD_IN-GRECEIPT_DOC_DATE

w_RECORD_IN-GRECEIPT_REF_DOC_NO

w_RECORD_IN-COMP_CODE

w_RECORD_IN-GROSS_AMOUNT

w_RECORD_IN-DOC_DATE

w_RECORD_IN-AGREEMENT

w_RECORD_IN-PO_NUMBER

w_RECORD_IN-PO_ITEM

w_RECORD_IN-ENTRY_QNT

w_RECORD_IN-ITEM_FIELD_IND

w_RECORD_IN-DELIV_DATE.

lv_int = strlen( w_RECORD_IN-PO_ITEM ).

lv_int = 5 - lv_int.

if lv_int > 0.

do lv_int times.

concatenate '0' w_RECORD_IN-PO_ITEM into w_RECORD_IN-PO_ITEM.

enddo.

endif.

APPEND w_RECORD_IN to It_RECORD_IN.

ENDLOOP.

CLOSE DATASET p_unxfil.

Thanks

s