Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Update custom table

Former Member
0 Likes
455

Hi Guys

I need to upload data from Text file to Custom Z Table.

Anybody have done this scenario.Please give me inputs on this.

Thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
428

data: str_Value(256).

open dataset your_file_name_and_path for input in text mode encoding default.

if sy-subrc <> 0.

exit.

endif.

do.

read dataset your_file_and_path into str_value.

if sy-subrc <> 0.

exit.

endif.

  • move str_value fields to custom table work area fields.

modify ztable from wa_ztable.

enddo.

2 REPLIES 2
Read only

Former Member
0 Likes
429

data: str_Value(256).

open dataset your_file_name_and_path for input in text mode encoding default.

if sy-subrc <> 0.

exit.

endif.

do.

read dataset your_file_and_path into str_value.

if sy-subrc <> 0.

exit.

endif.

  • move str_value fields to custom table work area fields.

modify ztable from wa_ztable.

enddo.

Read only

Former Member
0 Likes
428

Hi KrK,

Please go through the following code and implement as per your requirement.

TABLES:ZTABLE.


TYPES :
BEGIN OF UPLOAD_TYPE,
 COMPANY(20),
 OBJECT(20),
 OBJ_TYPE(20),
 POS(1),
 LENGTH TYPE I,
 VALUE(40),
 REMARKS(40),
 FLAG,
END OF UPLOAD_TYPE.

DATA : IT_INSERT TYPE TABLE OF ZTABLE,
       X_INSERT LIKE LINE OF IT_INSERT.

DATA: IT_UPLOAD TYPE STANDARD TABLE OF UPLOAD_TYPE,
      X_UPLOAD TYPE UPLOAD_TYPE.
DATA :IT_DATA(1000) OCCURS 0 WITH HEADER LINE,
      IT_FIELD(300) OCCURS 0 WITH HEADER LINE.

DATA : V_PATH TYPE STRING.
FIELD-SYMBOLS : <FS> TYPE ANY.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_PATH LIKE  RLGRAP-FILENAME OBLIGATORY
                     DEFAULT 'C:nconv.txt',
             PX_SKIP AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.

*----------------------------------------------------------------------*
* At Selection Screen                                                  *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.

  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME  = SYST-CPROG
      DYNPRO_NUMBER = SYST-DYNNR
      FIELD_NAME    = ' '
    IMPORTING
      FILE_NAME     = P_PATH.



*----------------------------------------------------------------------*
* Start of Selection                                                   *
*----------------------------------------------------------------------*
START-OF-SELECTION.
  V_PATH = P_PATH.

*Uploading the File.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME = V_PATH
    TABLES
      DATA_TAB = IT_DATA.

  PERFORM FILE_READ.
  PERFORM INSERT.
*&---------------------------------------------------------------------*
*&      Form  FORMAT_FILE_READ
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FILE_READ .
* Removing the Header if Flag is set.
  IF NOT PX_SKIP IS INITIAL.
    DELETE IT_DATA INDEX 1.
  ENDIF.
  LOOP AT IT_DATA.
    SPLIT IT_DATA AT CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB INTO
           TABLE IT_FIELD.
    LOOP AT IT_FIELD.
      IF NOT IT_FIELD IS INITIAL.
        ASSIGN COMPONENT SY-TABIX OF STRUCTURE X_UPLOAD TO <FS>.
        <FS> = IT_FIELD.
      ENDIF.
    ENDLOOP.
    APPEND X_UPLOAD TO IT_UPLOAD.
    CLEAR:  IT_FIELD ,X_UPLOAD .
    REFRESH : IT_FIELD.
  ENDLOOP.

ENDFORM.                    " FORMAT_FILE_READ
*&---------------------------------------------------------------------*
*&      Form  insert_nconv
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM INSERT .
  LOOP AT IT_UPLOAD INTO X_UPLOAD.
    MOVE-CORRESPONDING X_UPLOAD TO X_INSERT.
    X_INSERT-MANDT = SY-MANDT.
    APPEND X_INSERT TO IT_INSERT.
    CLEAR X_INSERT.
  ENDLOOP.
  INSERT ZTABLE FROM TABLE IT_INSERT.
  IF SY-SUBRC EQ 0.
    MESSAGE I001(38).
  ELSE.
    MESSAGE E001(38).
  ENDIF.

ENDFORM. 

I hope this would solve your problem

Regards

Anil Madhavan