Skip to Content
0
Jul 14, 2020 at 10:16 AM

WHEN I IMPORT FROM DATABASE a DATA IT CAN'T GET IT.

63 Views

I HAVA a table like this.

AND I HAD EXPORT SOME DATA INTO THIS TABLE.

AND IT LIKE THIS .

and i need to get the data from here and write a test programe it like this

*&---------------------------------------------------------------------*
*& Report YTEST011
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST011.
FIELD-SYMBOLS: <LS_PARA> TYPE RSFBPARA,
<LV_PARAFLD> TYPE ANY,
<LV_PARAVAL> TYPE ANY,
<LT_PARAFLD> TYPE ANY,
<LT_PARAVAL> TYPE ANY.
" <LT_DATADIR> TYPE LTYP_DATADIR_GD_TAB.

DATA:LV_NUMC TYPE NUM9.
DATA:LS_KEY TYPE ZCL_FM_LOG_SERVICE=>TY_KEY.
DATA:LV_DATAID TYPE EU_NAME.

DATA: LV_PARA_GD TYPE XUVALUE,
LV_MODE_GD(1) TYPE C,
" LS_GENDAT TYPE LTYP_GENDAT,
" LT_GENDAT TYPE STANDARD TABLE OF LTYP_GENDAT,
LV_PNAME_GD TYPE TFDIR-PNAME,
LS_HEADER_GD TYPE HEADER_FB,
LT_TABLES_GD TYPE RSFB_PARA,
LT_IMPORT_GD TYPE RSFB_PARA,
LT_EXPORT_GD TYPE RSFB_PARA,
LT_CHANGE_GD TYPE RSFB_PARA,
LV_PROGNAME_GD TYPE TRDIR-NAME,
LV_PARANAME_GD(100),
" LS_DATADIR_GD TYPE LTYP_DATADIR_GD,
LV_DATAID_GD TYPE EUFUNC-NUMMER,
LV_EXIT_GD TYPE XFELD.


LS_HEADER_GD-NAME = 'ZFI_IF_CREATE_VENDOR_BPM'.

SELECT SINGLE PNAME
FROM TFDIR
INTO LV_PNAME_GD
WHERE FUNCNAME = LS_HEADER_GD-NAME ."'ZFI_IF_CREATE_VENDOR_BPM'.




CALL FUNCTION 'FUNCTION_INCLUDE_SPLIT'
EXPORTING
PROGRAM = LV_PNAME_GD
IMPORTING
GROUP = LS_HEADER_GD-AREA
NAMESPACE = LS_HEADER_GD-NAMESPACE.
* insert namespace (e.g. /AFS/)
CONCATENATE LS_HEADER_GD-NAMESPACE LS_HEADER_GD-AREA
INTO LS_HEADER_GD-AREA.
* read parameter of function module
CALL METHOD CL_FB_PARAMETER_DB=>READ
IMPORTING
TABLES = LT_TABLES_GD[]
IMPORT = LT_IMPORT_GD[]
EXPORT = LT_EXPORT_GD[]
CHANGE = LT_CHANGE_GD[]
CHANGING
HEADER = LS_HEADER_GD.

LV_PROGNAME_GD = LS_HEADER_GD-NAME.
TRANSLATE LV_PROGNAME_GD USING ' ='.
LV_PROGNAME_GD+30 = 'FT'.
PERFORM (SPACE) IN PROGRAM (LV_PROGNAME_GD) IF FOUND.


LS_KEY-INDX = '100000000000000023'.
LS_KEY-NAME = 'ZFI_IF_CREATE_VENDOR_BPM'.
LS_KEY-ERDAT = '20200714' .
LS_KEY-ZEIT = '160749' .
LS_KEY-SRTF2 = '0' .

BREAK-POINT.

LOOP AT LT_TABLES_GD ASSIGNING <LS_PARA>.
CONCATENATE '(' LV_PROGNAME_GD ')%_I' <LS_PARA>-PARAMETER '[]'
INTO LV_PARANAME_GD.
ASSIGN (LV_PARANAME_GD) TO <LV_PARAFLD>.
CHECK SY-SUBRC = 0.
LS_KEY-FDNAME = <LS_PARA>-PARAMETER.
TRY .
IMPORT DATA = <LV_PARAFLD> FROM DATABASE ZLOGDATA(FL) ID LS_KEY .
CATCH CX_SY_IMPORT_MISMATCH_ERROR.
MESSAGE '参数有变更' TYPE 'S'.
ENDTRY.
ENDLOOP.

and the ty_key is like this

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; }

BEGIN OF TY_KEY,
" RELID TYPE ZLOGDATA-RELID,
NAME TYPE RS38L_FNAM,
ERDAT TYPE ERDAT,
ZEIT TYPE UZEIT,
INDX TYPE ZLOGDATA-INDX,
FDNAME TYPE RS38L_PAR_,
SRTF2 TYPE char10,
* GUID TYPE ZLOGDATA-GUID, "36位GUID
* AREA TYPE RS38L_AREA,
* ERNAM TYPE UNAME,
* RTYPE TYPE BAPI_MTYPE,
* RTMSG TYPE ZLOGDATA-RTMSG,
END OF TY_KEY .

AND NOW , I CAN'T GET THE DATA USEING IMPORT .who can help me .

Attachments

1.png (44.2 kB)
22.png (33.0 kB)